Django ManyToMany为自引用属性创建重复关系

时间:2018-08-14 13:56:01

标签: python django many-to-many

我有一个看起来像这样的模型:

class Session(models.Model):
    sub_sessions = models.ManyToManyField("self")

现在,当我执行以下操作时:

session_1 = Session.objecte.get(id=1)
session_2 = Session.objects.get(id=2)
session_1.sub_sessions.add(session_2)

发生的事情是,创建了一个关系,使得session_2session_1的{​​{1}}字段中,但是sub_sessions也在session_1的字段中session_2字段。

我想这在某种程度上是一种sub_sessions关系是有意义的,但这并不是我想要的。我只希望ManyToManyField位于session_2的{​​{1}}字段中,而不希望出现在其他地方。

我想我可以创建一个session_1关系,但这只会破坏我目前的一些编码实现,我真的很想有一种方法可以完成这项工作。

谢谢!

1 个答案:

答案 0 :(得分:2)

对称属性是您想要的吗?

class Session(models.Model):
    sub_sessions = models.ManyToManyField("self", symmetrical=False)

Django docs