Python auth.User.groups:(fields.E304)用于'的反向访问器;用户组';与'的反向存取器冲突;UserManage.groups';

Python auth.User.groups:(fields.E304)用于'的反向访问器;用户组';与'的反向存取器冲突;UserManage.groups';,python,django,Python,Django,在我的Django项目中,我有一个user\u manageapp 我在我的user\u manageapp的model.py中创建了一个名为UserManage的模型: from django.db import models from django.contrib.auth.models import AbstractUser class UserManage(AbstractUser): username = models.CharField(max_length=12) 然后

在我的Django项目中,我有一个
user\u manage
app

我在我的
user\u manage
app的model.py中创建了一个名为
UserManage
的模型:

from django.db import models
from django.contrib.auth.models import AbstractUser

class UserManage(AbstractUser):
    username = models.CharField(max_length=12)
然后我跑:

$ python3 manage.py makemigrations
错误来了:

ERRORS:
auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'UserManage.groups'.
        HINT: Add or change a related_name argument to the definition for 'User.groups' or 'UserManage.groups'.
auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'UserManage.user_permissions'.
        HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'UserManage.user_permissions'.
users_management.UserManage.groups: (fields.E304) Reverse accessor for 'UserManage.groups' clashes with reverse accessor for 'User.groups'.
        HINT: Add or change a related_name argument to the definition for 'UserManage.groups' or 'User.groups'.
users_management.UserManage.user_permissions: (fields.E304) Reverse accessor for 'UserManage.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
        HINT: Add or change a related_name argument to the definition for 'UserManage.user_permissions' or 'User.user_permissions'.

将以下内容添加到
settings.py

AUTH_USER_MODEL = "users_management.UserManage" 
更一般地说

AUTH_USER_MODEL = 'YourAppName.YourClassName'
  • YourAppName:这是将具有用户模型的应用程序的名称
  • YourClassName:这是models.py文件中使用的类的名称

将此项添加到设置中:

AUTH_USER_MODEL = 'APPNAME.User'
这样,我们告诉Django使用我们的自定义模型,而不是默认模型。

只需在
settings.py
中添加
AUTH\u USER\u MODEL=“your app name.USER”
,如下代码所示

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
AUTH_USER_MODEL="myproject.User"
    
# Password validation
# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators
    
AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]

在代码末尾的设置中添加以下内容:

AUTH_USER_MODEL="users.CustomUser"
将此设置添加到.py
AUTH\u USER\u MODEL=“myapp.USER”

您是否在
settings.py
中提到了
AUTH\u USER\u MODEL
?请编辑您的答案,添加代码如何工作以及如何解决OP问题的说明。许多StackOverflow用户都是新手,不会理解您发布的代码,因此不会从您的答案中学习。如何从UsersManager.models.custom_user.user这样的路径添加用户?如果我需要先迁移怎么办?ie:。。。makemigrations用户?如果没有AUTH_USER_模型,我将收到“clash”错误。对于AUTH_USER_MODEL:“AUTH_USER_MODEL指的是尚未安装的“%s”模型“%settings.AUTH_USER_MODEL”在我之前的评论中:原因是在具有AUTH_USER_MODEL的同一应用程序中有使用get_USER_MODEL()的第二个模型。有必要注释掉第二个模型并分两步进行“makemigrations”。答案与已经接受的答案相同: