python 用户认证模型类数据迁移报错如下:
auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'User.groups'.
auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'User.user_permissions'.
users.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'User.groups'.
users.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'User.user_permissions'.
报错原因:是继承了AbstractUser类,没有在setting文件里面声明使用自定义的类User。
from django.contrib.auth.models import AbstractUser
from django.db import models
class User(AbstractUser):
mobile = models.CharField(max_length=11, unique=True, verbose_name="手机号")
real_name = models.CharField(max_length=32, null=True, verbose_name="姓名")
id_card = models.CharField(max_length=20, null=True, verbose_name="身份证号")
class Meta:
db_table = "tb_user"
解决办法:在配置文件settings中声明使用自定义的User类:
# 指定使用自定义的模型类:
AUTH_USER_MODEL = 'users.User'