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

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


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_2位于session_1的sub_sessions字段中,但session_1也位于session_2的sub_sessions字段中。


我想这在某种意义上说是一种ManyToManyField关系,但这并不是我想要的。我只希望session_2是在session_1的sub_sessions领域,而不是周围的其他方式。


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


慕桂英3389331
浏览 154回答 1
1回答

长风秋雁

您正在寻找对称属性吗?class Session(models.Model):     sub_sessions = models.ManyToManyField("self", symmetrical=False)Django文档
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python