Django多对多(m2m)与同一模型的关系
我想创建一个与用户类对象之间的多对多关系。
我有这样的事情:
class MyUser(models.Model): ...
blocked_users = models.ManyToManyField(MyUser, blank=True, null=True)
问题是我是否可以在内部使用类引用。还是我必须使用"self"
欧洲工商管理学院"MyUser"
的ManyToManyField
?还是有另一种(更好的)方法呢?
回答:
从技术上讲,我很确定“ MyUser”或“ self”都可以使用,只要在任何情况下都是字符串即可。你只是无法通过MyUser实际的课程。
但是,文档始终使用“自我”。使用“自我”不仅可以更清楚地了解实际发生的情况,而且可以防止类名更改。例如,如果你后来更改MyUser
为SomethingElse
,则还需要更新对“ MyUser”
的任何引用。问题在于,由于它是字符串,因此你的IDE不会警告你该错误,因此你丢失它的可能性更大。无论班级的名称是现在还是将来,使用“自我”都可以。
以上是 Django多对多(m2m)与同一模型的关系 的全部内容, 来源链接: utcz.com/qa/400585.html