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


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

任何线索都会感激不尽


6643
2018-05-17 15:38


起源

只是为了澄清ForeighKey: If People_A depend on People_B, then no other People could depend on People_B。其他人仍然可以依赖People_B,但People_A现在不能拥有其他依赖,而不是People_B - stalk
嗨,斯塔克是对的。 - user2354910


答案:


我想这就是你要找的东西:

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

文档 对称的。


9
2018-05-17 16:44



嗨,阿德里安,非常感谢〜这正是我所需要的。 - user2354910