欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

解决更改AUTH_USER_MODEL后出现的问题

时间:2021-11-19 13:21:12|栏目:Python代码|点击:

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

上一篇:Python requests库用法实例详解

栏    目:Python代码

下一篇:如何基于python实现脚本加密

本文标题:解决更改AUTH_USER_MODEL后出现的问题

本文地址:http://www.codeinn.net/misctech/184014.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有