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三元运算实现方法
Jan 12 Python
python登录pop3邮件服务器接收邮件的方法
Apr 30 Python
Python生成数字图片代码分享
Oct 31 Python
Django 实现下载文件功能的示例
Mar 06 Python
Python遍历某目录下的所有文件夹与文件路径
Mar 15 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
python找出完数的方法
Nov 12 Python
Django Docker容器化部署之Django-Docker本地部署
Oct 09 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
Feb 10 Python
Python基础之字符串常见操作经典实例详解
Feb 26 Python
Python正则re模块使用步骤及原理解析
Aug 18 Python
python实现ping命令小程序
Dec 28 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
Yii实现显示静态页的方法
2016/04/25 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
PHP实现唤起微信支付功能
2019/02/18 PHP
可以将word转成html的js代码
2010/04/11 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
鼠标拖动实现DIV排序示例代码
2013/10/14 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
javascript的delete运算符知识点总结
2019/11/19 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
python2.7的编码问题与解决方法
2016/10/04 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
2017/08/30 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
Django中create和save方法的不同
2019/08/13 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
如何使用python代码操作git代码
2020/02/29 Python
python利用opencv保存、播放视频
2020/11/02 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
实习单位推荐信范文
2013/11/27 职场文书
人事助理自荐信
2014/02/02 职场文书
中学生个人自我评价
2014/02/06 职场文书
开业庆典策划方案
2014/02/18 职场文书
运动会口号16字
2014/06/07 职场文书
碧霞祠导游词
2015/02/09 职场文书
《刷子李》教学反思
2016/02/20 职场文书
Mysql排序的特性详情
2021/11/01 MySQL
Python中time标准库的使用教程
2022/04/13 Python
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript