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中用startswith()函数判断字符串开头的教程
Apr 07 Python
Python2中的raw_input() 与 input()
Jun 12 Python
如何处理Python3.4 使用pymssql 乱码问题
Jan 08 Python
Python进程间通信Queue消息队列用法分析
May 22 Python
详解numpy的argmax的具体使用
May 27 Python
树莓派实现移动拍照
Jun 22 Python
python中对_init_的理解及实例解析
Oct 11 Python
Python实现CAN报文转换工具教程
May 05 Python
python线程池 ThreadPoolExecutor 的用法示例
Oct 10 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 Python
Jupyter notebook 不自动弹出网页的解决方案
May 21 Python
opencv 分类白天与夜景视频的方法
Jun 05 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连接access数据库方法
2013/11/11 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
js计算最大公约数和最小公倍数代码实例
2019/09/11 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
Python数据类型详解(一)字符串
2016/05/08 Python
python与C互相调用的方法详解
2017/07/14 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
python根据时间获取周数代码实例
2019/09/30 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
印尼旅游网站:via
2017/11/12 全球购物
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
总经理职责范文
2013/11/08 职场文书
2014村务公开实施方案
2014/02/25 职场文书
python 详解turtle画爱心代码
2022/02/15 Python
TV动画《间谍过家家》公开PV
2022/03/20 日漫
公历12个月名称的由来
2022/04/12 杂记