• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

解决更改AUTH_USER_MODEL后出现的问题

python 搞代码 4年前 (2022-01-07) 24次浏览 已收录 0个评论

这篇文章主要介绍了解决更改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:

单独设置时,报来源gao@!dai!ma.com搞$$代^@码网错情况未变。

取消注释,则报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-600", 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后出现的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持gaodaima搞代码网

以上就是解决更改AUTH_USER_MODEL后出现的问题的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:解决更改AUTH_USER_MODEL后出现的问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址