Django的ManyToManyField through_fields
属性采用格式为(foreign_key_to_intermediate_model, foreign_key_from_intermediate_to_target_model)
的元组
我的数据结构本质上是这样的(为示例简化)
class Person(models.Model):
name = models.CharField()
relations = models.ManyToManyField(
Person,
through='Relationship',
through_fields=(???))
class Relationship(models.Model):
child = models.ForeignKey(Person)
parent = models.ForeignKey(Person)
holiday_card_sent = models.BooleanField()
我需要注释这种关系(他们发送了卡),但是一个人在不同的关系中既是孩子又是父母。关系有方向性,但没有人。一个人还将有多个孩子和多个父母。
感觉好像我在这里遗漏了一些明显的东西。创建对象时,是否应该只是将“人员”推到正确的字段?这样会不会失去Django通常会提供的查询性能?