Как сделать foreignKey из одной и той же таблицы в django?

Как сделать foreign-key из одной таблицы в админке Django?

Например, у меня есть данные о людях с именем и фамилией:

  1. Джо Ни
  2. Джо Ри
  3. Боб Гх

и у меня есть модель Person:

class Person(models.Model):
   name = models.CharField(max_length=25)
   lname = models.CharField(max_length=25, blank=False)

   def __str__(self):
        return str(self.name)


class MyModel(models.Model):
    first_name = models.ForeignKey(Person, on_delete=models.CASCADE)
    last_name = models.ForeignKey(Person, on_delete=models.CASCADE)

Теперь я хочу выбрать, например, значение 'Joe' в "MyModel", и тогда он покажет мне все другие допустимые варианты для этого имени: NI, RI

Как я могу это сделать?

TNX ребята

Чтобы правильно отобразить описанное отношение между именем и фамилией, я бы предложил что-то вроде этого.

class FirstName(models.Model):
    value = CharField(max_length=25)  

class LastName(models.Model):
    first_name = models.ForeignKey(FirstName, on_delete=models.CASCADE)
    value = CharField(max_length=25)
   

Вы используете JavaScript в своей форме, чтобы убедиться, что список доступных фамилий для данного имени динамически обновляется.

Вернуться на верх