繁体   English   中英

如何将模型实例与 Django 中的另一个实例相关联?

[英]How can I relate a model instance to another in django?

我正在尝试将模型实例与另一个相关联。 例如,如果我有一个名为 Person 的模型,我想将一个人与他/她的父亲联系起来。 我怎样才能做到这一点?

我没有证明代码,因为没有关于这个特定问题的代码。 但上面的例子基本上就是我想要做的:

我有一个人的模型(名为选民)我试图将每个实例与另一个作​​为亲戚(父亲,母亲,姐妹)联系起来

提前致谢。

您可以使用模型中的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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM