auth.User.groups:(fields.E304)“User.groups”的反向访问器与“UserManage.groups”的反向访问器冲突

2024-05-17 02:37:15 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的Django项目中,我有一个user_manage应用程序。

我在我的user_manage应用程序的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'.

Tags: orpermissionsfieldsforwithreversegroupsuser
2条回答

感谢@ABDULNIYASPM

我加上:

AUTH_USER_MODEL = "users_management.UserManage" 

settings.py中它起作用。

模板是

AUTH_USER_MODEL='你的appname.YourClassName>;'

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

将此添加到设置中:

AUTH_USER_MODEL = 'APPNAME.User'

这样我们就告诉Django使用我们的自定义模型而不是默认模型。 https://docs.djangoproject.com/en/2.2/topics/auth/customizing/#substituting-a-custom-user-model

相关问题 更多 >