Django多对多(m2m)与同一模型的关系

2024-09-25 00:24:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个从用户类对象到用户类对象的多对多关系。

我有这样的东西:

class MyUser(models.Model):
    ...
    blocked_users = models.ManyToManyField(MyUser, blank=True, null=True)

问题是我是否可以使用类引用本身。还是必须在ManyToManyField中使用"self"insead of "MyUser"?或者还有其他更好的方法吗?


Tags: 对象用户selftruemodel关系modelsnull
2条回答

不要在ManyToManyField中使用self,当使用django表单提交它时,它将导致对象之间的链接

class Tag(models.Model):
    ...
    subTag = models.ManyToManyField("self", blank=True)

 ...
 aTagForm.save()

结果是:

 a.subTag == b
 b.subTag == a
class MyUser(models.Model):
    ...
    blocked_users = models.ManyToManyField("self", blank=True)

相关问题 更多 >