Python 如何在Django中处理两个自定义用户模型的情况?

Python 如何在Django中处理两个自定义用户模型的情况?,python,django,Python,Django,我创建了两个模型,它们从django.contrib.auth.models继承了表单,导入AbstractUser,nameUser和AdminUser 但运行服务器时会出现检查识别错误,因此我添加: AUTH_USER_MODEL = "qiyun_admin_usermanage.User" 在mysettings.py中。错误消失了一半,但仍然存在qiyun\u admin\u usermanage.AdminUser的问题。我不知道是否可以在AUTH\u USER\u MODEL中设

我创建了两个模型,它们从django.contrib.auth.models继承了表单
,导入AbstractUser
,name
User
AdminUser

但运行服务器时会出现检查识别错误,因此我添加:

AUTH_USER_MODEL = "qiyun_admin_usermanage.User"
在my
settings.py
中。错误消失了一半,但仍然存在
qiyun\u admin\u usermanage.AdminUser
的问题。我不知道是否可以在
AUTH\u USER\u MODEL
中设置两个自定义模型,或者只能有一个AUTH\u USER\u模型

回溯:

...
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'.

只能有一个验证用户模型。如果要分离用户和管理员,则有一个代码段:

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\u superuser
列添加到可以处理权限的数据库中。

您可能应该尝试在自定义用户模型上创建一个
is\u admin
字段,或者使用组来标识管理员,你不认为把普通用户和管理员用户分成两个表更好吗?不,因为他们都是相同类型的“东西”(用户),角色不同,属性不同。拥有两个表会使用户管理变得非常复杂当拥有两个用户模型时(如OP所要求的)执行上述操作会导致问题的确切错误。