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 从远程服务器下载日志文件的程序
Feb 10 Python
ptyhon实现sitemap生成示例
Mar 30 Python
python中PIL安装简单教程
Apr 21 Python
python rsa 加密解密
Mar 20 Python
浅谈python import引入不同路径下的模块
Jul 11 Python
python 获取list特定元素下标的实例讲解
Apr 09 Python
python中copy()与deepcopy()的区别小结
Aug 03 Python
在Python中COM口的调用方法
Jul 03 Python
python使用梯度下降算法实现一个多线性回归
Mar 24 Python
Python docutils文档编译过程方法解析
Jun 23 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
Sep 03 Python
使用pandas生成/读取csv文件的方法实例
Jul 09 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+xslt在windows平台上
2006/10/09 PHP
php生成txt文件标题及内容的方法
2014/01/16 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
node.js超时timeout详解
2014/11/26 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
js实现的简练高效拖拽功能示例
2016/12/21 Javascript
Angular.js中上传指令ng-upload的基本使用教程
2017/07/30 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
详解Python字典的操作
2019/03/04 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
python的列表List求均值和中位数实例
2020/03/03 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
巴西购物网站:Submarino
2020/01/19 全球购物
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
机电专业个人求职信范文
2013/12/30 职场文书
食品行业求职人的自我评价
2014/01/19 职场文书
棉花姑娘教学反思
2014/02/15 职场文书
项目建议书模板
2014/05/12 职场文书
奥运会口号
2014/06/13 职场文书
新教师个人工作总结
2015/02/06 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
债务纠纷起诉书
2015/05/20 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
php字符串倒叙
2021/04/01 PHP
pytorch Dropout过拟合的操作
2021/05/27 Python
html5调用摄像头截图功能
2022/01/18 Javascript