这篇文章主要讲解了怎么解决更改AUTH_USER_MODEL后出现的问题,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
使用django自带的 AbstractUser 扩展之后,更改AUTH_USER_MODEL = 'users.UserProfile'属性后,进行数据库迁移时,
出现如下报错:
ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'user.patient', but app 'users' isn't installed.
通过如下两种方式注册app:
单独设置时,报错情况未变。
取消注释,则报unique错误,app必须唯一
后经过仔细查询,找到解决办法,并尝试解决成功:
找到自己的/python3X/lib/site-packages/django/contrib/admin/migrations文件夹,把里面除了__init__.py的所有文件,全部删了再makemigrations就可以了
补充知识:自定义userprofile覆盖默认user表
一、创建users app
startapp users
二、创建userprofile模型
from django.db import models from django.contrib.auth.models import AbstractUser class UserProfile(AbstractUser): nick_name = models.CharField(max_length=50,verbose_name=u"昵称", default="") birday = models.DateField(verbose_name=u"生日", null=True, blank=True) gender = models.CharField(max_length=5, choices=(("male",u"男"),("female",u"女")), default="female") address = models.CharField(max_length=100, default=u"") mobile = models.CharField(max_length=11, null=True, blank=True) image = models.ImageField(upload_to="image/%Y/%m", default=u"image/default.png", max_length=100) class Meta: verbose_name = "用户信息" verbose_name_plural = verbose_name def __str__(self): return self.username
三、在setting.py中更改用户模型
+
AUTH_USER_MODEL = "users.UserProfile"
看完上述内容,是不是对怎么解决更改AUTH_USER_MODEL后出现的问题有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。