您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

从技术上讲,我很确定“ MyUser”或“ self”都可以使用,只要在任何情况下都是字符串即可。你只是无法通过MyUser实际的课程。

但是,文档始终使用“自我”。使用“自我”不仅可以更清楚地了解实际发生的情况,而且可以防止类名更改。例如,如果你后来更改MyUserSomethingElse,则还需要更新对“ MyUser”的任何引用。问题在于,由于它是字符串,因此你的IDE不会警告你该错误,因此你丢失它的可能性更大。无论班级的名称是现在还是将来,使用“自我”都可以。

class MyUser(models.Model):
    ...
    blocked_users = models.ManyToManyField("self", blank=True)
Go 2022/1/1 18:17:44 有456人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶