我正在尝试将一个模型实例与另一个实例相关联。例如,如果我有一个名为Person的模型,并且想将一个人与他/她的父亲联系起来。我怎样才能做到这一点?
我没有证明代码,因为没有关于这个特定问题的代码。但是上面的示例基本上是我想要做的:
我有一个人物模型(名为Voter),我试图将每个实例与亲戚(父亲,母亲,妹妹)联系起来
先谢谢了。
答案 0 :(得分:0)
您可以在模型中使用ManytoManyField
来尝试此操作,它指向同一模型的实例。
有关该关系的任何元数据都可以存储在其自己的“通过”表中。
class Person(models.Model):
relation = models.ManyToManyField(Person, through=Relation)
class Relation(models.Model):
relation1 = models.ForeignKey(Person)
relation2 = models.ForeignKey(Person)
type_of_relation = models.SmallPositiveIntegerField(choices=[(1,'Father'), (2, 'Sister')... etc])
在此处阅读有关通过表和ManyToManyField的更多信息: https://docs.djangoproject.com/en/2.1/topics/db/models/#extra-fields-on-many-to-many-relationships