我制作了两个继承from django.contrib.auth.models import AbstractUser
形式,名称User
和AdminUser
的模型。
但是在runserver中有检查确定的错误,所以我添加:
AUTH_USER_MODEL = "qiyun_admin_usermanage.User"
在我的settings.py
中。半错误消失了,但仍然存在qiyun_admin_usermanage.AdminUser
问题。我不知道我是否可以在AUTH_USER_MODEL
中设置两个自定义模型,或者只能有一个AUTH_USER_MODEL?
追溯:
...
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
ERRORS:
qiyun_admin_usermanage.AdminUser.groups: (fields.E304) Reverse accessor for 'AdminUser.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'AdminUser.groups' or 'User.groups'.
qiyun_admin_usermanage.AdminUser.user_permissions: (fields.E304) Reverse accessor for 'AdminUser.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'AdminUser.user_permissions' or 'User.user_permissions'.
qiyun_admin_usermanage.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'AdminUser.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'AdminUser.groups'.
qiyun_admin_usermanage.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'AdminUser.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'AdminUser.user_permissions'.
答案 0 :(得分:-1)
可能只有一个AUTH_USER_MODEL。如果您想要分隔用户和管理员,则会有一个代码段:
from django.contrib.auth.models import AbstractBaseUser
from django.contrib.auth.models import PermissionsMixin
class CustomUser(AbstractBaseUser, PermissionsMixin):
name = models.CharField(max_length=40)
...
PermissionsMixin
将is_superuser
列添加到可以处理权限的数据库中。