gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:38:38 26 4
gpt4 key购买 nike

我想在用户类对象之间创建多对多关系。

我有这样的事情:

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

问题是我是否可以在其内部使用类引用。还是我必须在 ManyToManyField 中使用 "self" 而不是 "MyUser"?或者还有其他(更好的)方法吗?

最佳答案

从技术上讲,我很确定“MyUser”或“self”会起作用,只要它在任何一种情况下都是一个字符串。您只是不能传递实际的类 MyUser

但是,文档总是使用“self”。使用“self”不仅更明确地说明实际发生的事情,而且不受类名更改的影响。例如,如果您后来将 MyUser 更改为 SomethingElse,那么您还需要更新对“MyUser”的任何引用。问题是因为它是一个字符串,你的 IDE 不会提醒你错误,所以你错过它的可能性更大。无论现在或将来类的名称是什么,都可以使用“self”。

关于python - Django多对多(m2m)与同一模型的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11721157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com