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 Matplotlib库入门指南
May 18 Python
python通过文件头判断文件类型
Oct 30 Python
python中如何使用朴素贝叶斯算法
Apr 06 Python
Python列表推导式与生成器表达式用法示例
Feb 08 Python
python 以16进制打印输出的方法
Jul 09 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
使用Python发现隐藏的wifi
Mar 04 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
Mar 05 Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 Python
python实现同一局域网下传输图片
Mar 20 Python
基于CentOS搭建Python Django环境过程解析
Aug 24 Python
地图可视化神器kepler.gl python接口的使用方法
Dec 22 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
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
js定时器实例分享
2016/12/20 Javascript
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
[02:01]大师之路——DOTA2完美大师赛11月论剑上海
2017/11/06 DOTA
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
python算法学习之计数排序实例
2013/12/18 Python
批处理与python代码混合编程的方法
2016/05/19 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
python操作excel的方法
2018/08/16 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
python使用itchat模块给心爱的人每天发天气预报
2019/11/25 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
Python如何实现爬取B站视频
2020/05/20 Python
浅析python函数式编程
2020/09/26 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
2021/01/29 Python
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
司马光教学反思
2014/02/01 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python