外键与Django Model中的相关字段发生冲突

bbr*_*oke 3 python django many-to-many django-models foreign-key-relationship

我正在研究一个模型类,它将代表一个家庭成员与另一个家庭成员的关系(一部分基因学特征)

我的班级是:

class FamilyLink(models.Model):
    from_legacy = models.ForeignKey(Legacy)
    to_legacy = models.ForeignKey(Legacy)

    class Meta:
        unique_together = ("from_legacy", "to_legacy")
Run Code Online (Sandbox Code Playgroud)

当我尝试迁移时,我收到以下错误消息:

CommandError:一个或多个模型未验证:archive.familylink:字段'from_legacy'的访问者与相关字段'Legacy.familylink_set'冲突.将related_name参数添加到'from_legacy'的定义中.archive.familylink:字段'to_legacy'的访问者与相关字段'Legacy.familylink_set'发生冲突.将related_name参数添加到'to_legacy'的定义中.

看来我的问题是在同一个类中有两个foreignKey都指向同一个类(在本例中是"Legacy"类).有谁知道如何解决/解决这个问题?

我很欣赏这些想法和专长.

kar*_*ikr 6

错误消息非常明确:

class FamilyLink(models.Model):
    from_legacy = models.ForeignKey(Legacy, related_name = 'familylink_from_legacy')
    to_legacy = models.ForeignKey(Legacy, related_name = 'familylink_to_legacy')
Run Code Online (Sandbox Code Playgroud)

默认情况下,如果未related_name设置任何属性,则相关名称将设置为,familylink_set并且由于来自同一关系的2个不同字段,因此会导致问题.

此处阅读更多关于related_name属性