解决更改AUTH_USER_MODEL后出现的问题
作者:Logan_chen 发布时间:2023-06-22 08:14:10
标签: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"
来源:https://blog.csdn.net/Logan_chen/article/details/84660110


猜你喜欢
- 今天遇到mysql服务1067错误的问题,设置使用系统账户也无法启动mysql,后面认证看了系统的配置信息,发现启动文件也就是mysql安装
- 导语新的一年迎来了元宵节,元宵佳节在陪伴家人的同时,自然也少不了赏花灯,猜灯谜的项目。当然,受到疫情的影响,许多地方今年无法出门赏花灯,猜灯
- 就我个人经验来讲:除了oracle,没有比HP 客户支持中心更糟糕的体验了。刚买不到一个月的HP MINI笔记本,莫名其妙键盘上的引号键松动
- 高阶函数是在Python中一个非常有用的功能函数,所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。pytho
- 如何在页面中实现对电子信箱的访问?emaile.htm<HTML><HEAD><META NAME=
- SQL Server数据库的六个实用技巧:(一)挂起操作在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用
- QQ通过返回不同的图片,来表示在线或离线,图标也随之变换,既然图片不同,那么,返回的HTTP头信息中的Content-Length 也一定不
- 1.安装mockjs和vite-plugin-mocknpm i mockjs vite-plugin-mock --save-dev2.在
- SQL Server 的扩展存储过程,其实就是一个普通的 Windows DLL,只不过按照某种规则实现了某些函数而已。近日在写一个扩展存储
- bug1无法正常使用cmd或pycharm正常安装,报错截图如下:解决(1): 这种情况下,我们就不能使用cmd或pycharm进
- 前言go不要求类型显示地声明实现了哪个接口,只要实现了相关的方法即可,编译器就能检测到空接口类型可以接收任意类型的数据:type eface
- 开发环境开发环境为:Win 10(64位)Python 3.7.0Django 2.1安装Pythonpython的安装为比较简单,首先找到
- 测试函数:第一种:list的set函数第二种:{}.fromkeys().keys()测试代码:#!/usr/bin/python#-*-
- 本文实例讲述了Python计算一个给定时间点前一个月和后一个月第一天的方法。分享给大家供大家参考,具体如下:python如何获取一个时间点的
- //比较数组是否相同 modeler.compArray=function(array1,array2) { &nb
- 一、jpype模块是什么?能够让 python 代码方便地调用 Java 代码的工具二、jpype模块安装安装和其它模块没区别,但是注意模块
- 1、 string的定义Golang中的string的定义在reflect包下的value.go中,定义如下:StringHeader 是字
- transforms.Resize()的简单使用简单来说就是调整PILImage对象的尺寸,注意不能是用io.imread或者cv2.imr
- 本文中介绍的主要是SQL语句,请大家不要在Access中使用。SQL的分类:DDL—数据定义语言(CREATE,ALTE
- 1. 随机数np.random.random()是最常用的随机数生成函数,该函数生成的随机数随机均匀分布于[0, 1)区间。如果不提供参数,