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中的多重继承
Apr 28 Python
Windows下为Python安装Matplotlib模块
Nov 06 Python
python将unicode转为str的方法
Jun 21 Python
对Python random模块打乱数组顺序的实例讲解
Nov 08 Python
python的concat等多种用法详解
Nov 28 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 Python
在pycharm 中添加运行参数的操作方法
Jan 19 Python
python实现ip地址的包含关系判断
Feb 07 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
python中的django是做什么的
Jul 31 Python
Python绘制分类图的方法
Apr 20 Python
python解析照片拍摄时间进行图片整理
Jul 23 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
2013/06/20 PHP
session 加入redis的实现代码
2016/07/15 PHP
PHP 断点续传实例详解
2017/11/11 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
初探jquery——表单应用范例
2007/02/20 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
JavaScript中的异常捕捉介绍
2014/12/31 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
Python常用列表数据结构小结
2014/08/06 Python
python实现基本进制转换的方法
2015/07/11 Python
Python中字符串的格式化方法小结
2016/05/03 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
python基于TCP实现的文件下载器功能案例
2019/12/10 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
e路東瀛(JAPANiCAN)香港:日本旅游、日本酒店和温泉旅馆预订
2018/11/21 全球购物
工程开工庆典邀请函
2014/02/01 职场文书
趣味比赛活动方案
2014/02/15 职场文书
煤矿安全生产标语
2014/06/06 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
毕业生党员个人总结
2015/02/14 职场文书
郭明义电影观后感
2015/06/08 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
前端JavaScript大管家 package.json
2021/11/02 Javascript