16

我想实现一个具有自依赖性的模型。假设实例 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。它将用最新的依赖项覆盖旧的依赖项。

任何线索将不胜感激

4

1 回答 1

16

我想这就是你要找的:

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

有关对称,请参阅文档

于 2013-05-17T16:44:53.840 回答