django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决


Posted in Python onJuly 13, 2018

一、现象

最近在数据库中删除了一张表,重新执行python manage.py migrate时出错,提示不存在这张表。通过查找相关的资料,最后找到了相关的解决方法,下面话不多说了,来一起看看详细的介绍吧

二、原因

主要是因为django一般在第一次迁移的时候新建表,后面的都不会新建表,而是只检查字段等等的变化,所以我们既然已经删除了这张表,django检查这张表的字段变化的时候就自然报错了。

三、解决办法

解决办法仍然是执行python manage.py makemigrations和python manage.py migrate,只不过在执行这个之前,把第一次执行迁移创建表的那个记录删除掉,否则它检测到已经执行过第一次了,那么它后面就不会创建表了。

(1)在该app模块下,有一个migrations文件夹,除了前两个文件外,其他的文件都删除,其实每一次如果有变化的话,这边就会生成一个文件,下面这个001_initial.py看名字就知道是第一次迁移的时候生成的,也就是因为有它的存在,所以以后每次再执行就不再创建表了。

django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决

(2)其次,在数据库里面也有相应的记录,也要删除。我们仔细看看数据库里面存的是什么,在django_migrations里面,这个表里面存的都是每次迁移的记录,当然记录的是什么模块以及对应的文件名字,比如我们这里的模块是dtheme,这里的文件名叫001_initial,和我们文件夹里面是一一对应的,同样,删除这条记录。

django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决

然后再执行python manage.py makemigrationspython manage.py migrate就可以了。

需要注意的是,如果这个app模块下面还有其他的model的话,那么其他model创建的表也要删除掉,相当于我们这样的解决方案是针对整个app模块的,要执行就会全部重新生成,不然会提示部分表已经存在的错误。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
Python存取XML的常见方法实例分析
Mar 21 Python
使用python读取txt文件的内容,并删除重复的行数方法
Apr 18 Python
Python3实现腾讯云OCR识别
Nov 27 Python
matplotlib.pyplot绘图显示控制方法
Jan 15 Python
python求最大值最小值方法总结
Jun 25 Python
python实现字符串完美拆分split()的方法
Jul 16 Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 Python
PYTHON发送邮件YAGMAIL的简单实现解析
Oct 28 Python
Python collections中的双向队列deque简单介绍详解
Nov 04 Python
详解Python中的路径问题
Sep 02 Python
Python实现仓库管理系统
May 30 Python
python实战教程之自动扫雷
Jul 13 #Python
详解Python3.6的py文件打包生成exe
Jul 13 #Python
python2 与 python3 实现共存的方法
Jul 12 #Python
Python3单行定义多个变量或赋值方法
Jul 12 #Python
Python读取数据集并消除数据中的空行方法
Jul 12 #Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
Jul 12 #Python
python跳过第一行快速读取文件内容的实例
Jul 12 #Python
You might like
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
使用php实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
php实现可逆加密的方法
2015/08/11 PHP
PHP6新特性分析
2016/03/03 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
PHP简单日历实现方法
2016/07/20 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
详解Angular中$cacheFactory缓存的使用
2016/08/19 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
python输出100以内的质数与合数实例代码
2018/07/08 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
2019/06/27 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
数控技术应届生求职信
2013/11/13 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
师德师风自查总结
2014/10/14 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android