解决更改AUTH_USER_MODEL后出现的问题


Posted in Python onMay 14, 2020

使用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.

解决更改AUTH_USER_MODEL后出现的问题

通过如下两种方式注册app:

解决更改AUTH_USER_MODEL后出现的问题

单独设置时,报错情况未变。

取消注释,则报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后出现的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python程序中使用SQLAlchemy时出现乱码的解决方案
Apr 24 Python
举例讲解Python中的Null模式与桥接模式编程
Feb 02 Python
Python中断言Assertion的一些改进方案
Oct 27 Python
Python 遍历子文件和所有子文件夹的代码实例
Dec 21 Python
Django应用程序中如何发送电子邮件详解
Feb 04 Python
python音频处理用到的操作的示例代码
Oct 27 Python
Python入门之后再看点什么好?
Mar 05 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
May 08 Python
通过pycharm使用git的步骤(图文详解)
Jun 13 Python
python重要函数eval多种用法解析
Jan 14 Python
Python利用FFT进行简单滤波的实现
Feb 26 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
Python基于numpy模块实现回归预测
May 14 #Python
Django之全局使用request.user.username的实例详解
May 14 #Python
Django使用Profile扩展User模块方式
May 14 #Python
python网络编程之五子棋游戏
May 14 #Python
Jupyter notebook如何修改平台字体
May 13 #Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 #Python
Django 允许局域网中的机器访问你的主机操作
May 13 #Python
You might like
PHP也可以?成Shell Script
2006/10/09 PHP
PHP中的CMS的涵义
2007/03/11 PHP
解析php类的注册与自动加载
2013/07/05 PHP
php自动获取关键字的方法
2015/01/06 PHP
jquery.validate分组验证代码
2011/03/17 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
js模拟微博发布消息
2017/02/23 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
python flask 多对多表查询功能
2017/06/25 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
Python中的Cookie模块如何使用
2020/06/04 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
银行实习鉴定
2013/12/13 职场文书
关于打架的检讨书
2014/01/17 职场文书
大学四年个人自我小结
2014/03/05 职场文书
2014新课程改革心得体会
2014/03/10 职场文书
作文批改评语大全
2014/04/23 职场文书
个人工作决心书
2015/09/22 职场文书
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript
Go 中的空白标识符下划线
2022/03/25 Golang
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers