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求crc32值的方法
Oct 05 Python
分析Python的Django框架的运行方式及处理流程
Apr 08 Python
将Django框架和遗留的Web应用集成的方法
Jul 24 Python
Python数组定义方法
Apr 13 Python
深入解析Python中的descriptor描述器的作用及用法
Jun 27 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
Python帮你微信头像任意添加装饰别再@微信官方了
Sep 25 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 Python
Python实现钉钉订阅消息功能
Jan 14 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
Jun 02 Python
Django数据统计功能count()的使用
Nov 30 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 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 mssql 数据库分页SQL语句
2008/12/16 PHP
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
深入php函数file_get_contents超时处理的方法详解
2013/06/03 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
vue刷新和tab切换实例
2018/02/11 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
python进阶教程之文本文件的读取和写入
2014/08/29 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
python如何生成网页验证码
2018/07/28 Python
使用python Fabric动态修改远程机器hosts的方法
2018/10/26 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
Python函数和模块的使用总结
2019/05/20 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
应届大专毕业生个人自荐信
2013/09/22 职场文书
学校献爱心活动总结
2014/07/08 职场文书
玄武湖导游词
2015/02/05 职场文书
行政助理岗位职责
2015/02/10 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书