Django-migrate报错问题解决方案


Posted in Python onApril 21, 2020

python3 manage.py makemigrations # 生成数据库迁移文件
python3 manage.py migrate # 迁移数据库

简简单单两条命令就完成了django的数据库迁移

但是今天一天的时间都耽误在这了,一点都不夸张的那种,,早上去公司讨论需求之后,研究了一下需要更改一下数据库,在执行makemigrations的时候OK没有问题,但是migrate就报错了

1.报错: XX表已经存在,django.db.utils.OperationalError: (1050, "Table XX already exists

我:删表,但是报错,Cannot delete or update a parent row: a foreign key constraint fails 跟YY表存在外键关系,无法删除,

百度了一番之后:1、SET foreign_key_checks = 0; // 先设置外键约束检查关闭

2、drop table XX; // 删除数据,表或者视图

3、SET foreign_key_checks = 1; // 开启外键约束检查,以保持表结构完整性 

2.表删了之后重新执行migrate,又报错别的表存在,如此一直循环往复,我都怀疑这是人家写的一个while True,

我:找到了第二种解决方案:python manage.py migrate myapp --fake # 切记把myapp换成你要执行的APP名称

这条命令可以顺利执行,没有报错,但是又找不到对应生成的表在哪里,顶如还是说不能成功

3.将之前执行makemigrations生成的migrations文件夹删除,重新来过,OK,还是一样的毛病,

4.重新创建了database之后,重新来过,只生成了django自带的那几张表,然而项目里大多的数据存储都是依靠我在每一个app里创建的table里呀

5.将每个APP下的migrations都删掉,database也重新来过,好嘛,连最基本的数据库迁移文件夹都不能生成了,一瞬间有种悔不当初的感觉,但是又能怎么样呢,就是需要调整数据库呀

6.这个时候重头开始来过,千万不要慌,检查settings里是否把每一个APP都注册到,项目同名目录下的__init__.py里是否包含了

import pymysql

pymysql.install_as_MySQLdb()

7.没有问题之后这样去执行数据库迁移的命令 

python3 manage.py migrate # 生成django自带的数据库
python3 manage.py makemigrations appname # 将appname换成你要迁移的那个app的名称
python3 manage.py migrate appname # 同理,换名

至此,一个小小的问题,真的就花了我一天的时间,好在终于解决了,

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
跟老齐学Python之深入变量和引用对象
Sep 24 Python
让 python 命令行也可以自动补全
Nov 30 Python
Python selenium 三种等待方式详解(必会)
Sep 15 Python
Python实现的维尼吉亚密码算法示例
Apr 12 Python
用pycharm开发django项目示例代码
Oct 24 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
Python socket 套接字实现通信详解
Aug 27 Python
Python箱型图处理离群点的例子
Dec 09 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
几款好用的python工具库(小结)
Oct 20 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 #Python
jupyter 导入csv文件方式
Apr 21 #Python
tensorflow指定CPU与GPU运算的方法实现
Apr 21 #Python
Python多线程实现支付模拟请求过程解析
Apr 21 #Python
安装多个版本的TensorFlow的方法步骤
Apr 21 #Python
解决Jupyter notebook中.py与.ipynb文件的import问题
Apr 21 #Python
TensorFLow 数学运算的示例代码
Apr 21 #Python
You might like
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
js 数据类型转换总结笔记
2011/01/17 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
Python中基本的日期时间处理的学习教程
2015/10/16 Python
python中sys.argv函数精简概括
2018/07/08 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
2020/06/18 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
C#面试常见问题
2013/02/25 面试题
GWT都有什么特性
2016/12/02 面试题
师范生教师实习自我鉴定
2013/09/27 职场文书
优秀班干部事迹材料
2014/01/26 职场文书
《再别康桥》教学反思
2014/02/12 职场文书
小学生演讲稿大全
2014/04/25 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript