【发布时间】:2016-07-19 15:47:44
【问题描述】:
在创建一个项目,然后是一个应用程序并将这个应用程序添加到我的INSTALLED_APPS 之后,我尝试通过在我的models.py 中继承AbstractUser 来创建一个自定义用户类:
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
pass
然后我尝试运行 makemigrations 并收到此错误:
SystemCheckError: System check identified some issues:
ERRORS:
auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'CustomUser.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'CustomUser.groups'.
auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'CustomUser.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'CustomUser.user_permissions'.
main.CustomUser.groups: (fields.E304) Reverse accessor for 'CustomUser.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'CustomUser.groups' or 'User.groups'.
main.CustomUser.user_permissions: (fields.E304) Reverse accessor for 'CustomUser.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'CustomUser.user_permissions' or 'User.user_permissions'.
添加AUTH_USER_MODEL = 'main.CustomUser'(main 是我的应用程序)似乎解决了这个问题(makemigrations 成功,就像migrate),但我不明白为什么我会得到这个错误,即使我只是定义这个子类尚未实际使用它。
我想首先了解为什么会出现这个问题,以及添加AUTH_USER_MODEL 是如何解决的。我真的不明白为什么我的CustomUser 和auth.User 之间似乎存在冲突。
【问题讨论】:
标签: django django-migrations django-custom-user