创建谟,那么一个应用程序,并添加此应用到我的INSTALLED_APPS
后,我试图在继承AbstractUser
做出一个自定义的用户类我models.py
:为什么修改AUTH_USER_MODEL似乎需要子类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
之间有冲突。