Django数据库迁移问题

Django数据库迁移问题一 数据库迁移问题 问题一 1 gt gt python3manag pymakemigrat db utils InternalErro 1050 Table django admin log alreadyexist 2 错误原因 在迁移文件 0001 中需要新建表 django admin log 但是数据库中已存在一个原有的表

一、数据库迁移问题

【问题一】

2. 错误原因:在迁移文件0001中需要新建表django_admin_log,但是数据库中已存在一个原有的表

3. 解决方案:

(1) 将原有表删除即可: mysql>> drop table django_admin_log;

(2) 重新迁移数据库: >> python3 manage.py migrate

【问题二】

1. >> python3 manage.py makemigrations

ValueError: The field admin.LogEntry.user was declared with a lazy reference to ‘users.user’, but app ‘users’ isn’t installed

2. 错误原因:新迁移的文件与旧的迁移文件冲突的问题

3. 解决方案:

删除旧的迁移文件,生成新的迁移文件回滚即可

【问题三】

1. >> python3 manage.py makemigrations

ValueError: The field admin.LogEntry.user was declared with a lazy reference to ‘user.user’,but app ‘user’ doesn’t provide model ‘user’.

Django数据库迁移问题
报错信息

2. User实体类

class User(AbstractUser): # 继承AbstractUser nickname = models.CharField(max_length=30,null=True,verbose_name='昵称') phone = models.CharField(max_length=30,null=True,unique=True,verbose_name='手机号') gender = models.CharField(max_length=10,choices=GENDER,default='1',null=True,blank=True,verbose_name='性别') usertype = models.IntegerField(choices=USERTYPE,default=2,verbose_name='用户类型') # 1表示卖家,2表示买家 is_delete = models.BooleanField(default=False,verbose_name='是否禁用用户') def __str__(self): return self.username class Meta: db_table = 'user_user' # 数据库表名

3. 错误原因:没有给继承自AbstractUser类的user实体类授权,需要在settings.py里配置

4. 解决方案:

(1) 在settings.py文件中添加user应用,并添加user授权

INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'user', ] AUTH_USER_MODEL = 'user.User' # 指定user的模型, 应用.模型

(2)  重新迁移数据库 

可以参考>> ValueError in Django when running the “python manage.py migrate” command

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178488.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午5:11
下一篇 2026年3月26日 下午5:11


相关推荐

  • java变量设置_如何正确的配置JAVA环境变量

    java变量设置_如何正确的配置JAVA环境变量原创:YiKiA2Data什么是环境变量?环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。为什么要配置环境变量?为了方便在控制台编译和运行java程序,不必进入到java的程序目录里面去运行。这样你放在任何目录下的java程序文件都可以编译运行,而不是必须把这个程序文件放在java.exe和javac.exe所在的目录下。什么是JAVA_HOME…

    2022年7月7日
    29
  • k8s(二)搭建「建议收藏」

    k8s(二)搭建「建议收藏」k8s安装 初始化环境kubernetes必要组件安装集群安装一主多从多主多从安装 初始化环境minibuke 用于快速构建单节点k8s的工具kubeadm 用于快速搭建k8s集群的工具二进制包 从官网下载每个组件的二进制包 一次去安装 对于理解k8s更有效作用nathostmaster10.0.3.11192.168.56.101node110.0.3.12192.168.56.102node210.0.3.14192.168.56.1

    2022年8月9日
    8
  • 摩斯密码转换器_摩斯密码怎么表示中文

    摩斯密码转换器_摩斯密码怎么表示中文在线DEMO:https://oktools.net/morse摩斯电码和Unicode映射conststandard={'A':'01','B

    2022年8月3日
    7
  • stm32f103 手册_glib中文参考手册

    stm32f103 手册_glib中文参考手册链接:https://pan.baidu.com/s/1_e57Gl4u_kPnwVvd1bF_eg提取码:1111方便自己,方便别人

    2022年10月15日
    5
  • 安卓内核编程_内核编程用什么语言

    安卓内核编程_内核编程用什么语言http://blog.csdn.net/Luoshengyang/article/details/6568411Android4.04源码编译(ubuntu12.04)http://www.adaiw.com/?p=167如何下载并编译Android4.0内核源码goldfish(图文)http://blog.csdn.net/flydream

    2022年10月8日
    6
  • oracle锁表_数据库锁表如何解决

    oracle锁表_数据库锁表如何解决1、执行以下语句可查询被锁的表selectb.owner,b.object_name,a.session_id,a.locked_modefromv$locked_objecta,dba_objectsbwhereb.object_id=a.object_id;2、执行以下语句可查询被锁的session和serialselectb.username,b.sid,b.serial#,logon_timefromv$locked_objecta,v$session.

    2022年8月23日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号