Django从同一个模型中建模字段user和admin



我有一个模型User和另一个模型,其中管理员和用户来自同一模型User。

admin = models.ForeignKey(User)
users = models.ManyToManyField(User)

我得到这个错误:

ERRORS:
admin: (fields.E304) Reverse accessor for 'admin' clashes with reverse accessor for 'users'.
HINT: Add or change a related_name argument to the definition for 'admin' or 'users'.
users: (fields.E304) Reverse accessor for 'users' clashes with reverse accessor for 'admin'.
HINT: Add or change a related_name argument to the definition for 'users' or 'admin'.

像这样修改代码:

admin = models.ForeignKey(User, related_name='admin_user')
users = models.ManyToManyField(User, related_name='users_user')

另见ForeignKey related_name

您正在创建具有相同向后关系的不同用户属性'user_set',这不起作用。

试一试:

admin = models.ForeignKey(User)
users = models.ManyToManyField(User,related_name="+")

提供两个不同的related_name属性,以便向后关系属性的名称不会冲突。

在这篇文章中,你可以看到同样的问题:邮报》

文档:

相关内容

最新更新