如何在 Django 中从同一个 table 制作外键?

How can make foreignKey from the same table in django?

如何在 Django 管理中从同一个 table 生成外键?

例如,我有名字和姓氏的人的数据:

  1. 乔妮
  2. Joe Ri
  3. 鲍勃·格

我有一个人模型:

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)

现在我想在“MyModel”中选择值 'Joe',然后它会向我显示此名字的所有其他有效选项: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 以确保动态更新给定名字的可用姓氏列表。