模型自依赖(一对多字段)实现

时间:2013-05-17 15:38:34

标签: django one-to-many

我想实现一个具有自我依赖性的模型。假设实例People_A可能依赖于People_B和People_C。 我首先使用多对多密钥实现此模型。

class People(models.Model):

dependency = models. ManyToManyField ('self', blank=True, null=True)

但结果是,如果People_A依赖People_B,将导致People_B也依赖于People_A。这是我不想要的。

然后我用外键实现它。

class People(models.Model):

dependency = models.ForeignKey('self', blank=True, null=True)

但这也行不通。如果People_A依赖People_B,那么其他任何人都不能依赖People_B。它将涵盖具有最新依赖关系的旧依赖关系。

任何线索都会感激不尽

1 个答案:

答案 0 :(得分:10)

我认为这就是你要找的东西:

dependencies = models.ManyToManyField("self", symmetrical=False)

请参阅docs了解对称。