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装饰器
Jun 15 Python
利用python将xml文件解析成html文件的实现方法
Dec 22 Python
python实现朴素贝叶斯算法
Nov 19 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
Jul 10 Python
python之array赋值技巧分享
Nov 28 Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 Python
django admin后管定制-显示字段的实例
Mar 11 Python
浅谈Python中threading join和setDaemon用法及区别说明
May 02 Python
Python tkinter实现简单加法计算器代码实例
May 13 Python
基于python实现matlab filter函数过程详解
Jun 08 Python
Python如何实现自带HTTP文件传输服务
Jul 08 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 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
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
2013/07/15 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
PHP使用array_merge重新排列数组下标的方法
2015/07/22 PHP
PHP微信分享开发详解
2017/01/14 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
JavaScript自定义日期格式化函数详细解析
2014/01/14 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
在Django同1个页面中的多表单处理详解
2017/01/25 Python
Tensorflow环境搭建的方法步骤
2018/02/07 Python
Python在groupby分组后提取指定位置记录方法
2018/04/20 Python
python中的decorator的作用详解
2018/07/26 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
python实现串口自动触发工作的示例
2019/07/02 Python
python中break、continue 、exit() 、pass终止循环的区别详解
2019/07/08 Python
Python Django 命名空间模式的实现
2019/08/09 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
利用纯CSS3实现文字向右循环闪过效果实例(可用于移动端)
2017/06/15 HTML / CSS
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
解释下面关于J2EE的名词
2013/11/15 面试题
入股合作协议书
2014/10/12 职场文书
见习报告怎么写
2014/10/31 职场文书
总账会计岗位职责
2015/04/02 职场文书
文明礼貌主题班会
2015/08/14 职场文书
六年级情感作文之500字
2019/10/23 职场文书
使用Python解决图表与画布的间距问题
2022/04/11 Python