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之dict()的操作方法
Sep 24 Python
在Python下进行UDP网络编程的教程
Apr 29 Python
Python批量按比例缩小图片脚本分享
May 21 Python
Python中Django框架利用url来控制登录的方法
Jul 25 Python
Python数据类型学习笔记
Jan 13 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
Mar 24 Python
通过python顺序修改文件名字的方法
Jul 11 Python
python实现给微信指定好友定时发送消息
Apr 29 Python
PyTorch搭建多项式回归模型(三)
May 22 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
Mar 23 Python
Python 用__new__方法实现单例的操作
Dec 11 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
Jan 15 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
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
微信小程序动态添加分享数据
2017/06/14 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
微信小程序使用 vant Dialog组件的正确方式
2020/02/21 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
python处理PHP数组文本文件实例
2014/09/18 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
python之array赋值技巧分享
2019/11/28 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
python str字符串转uuid实例
2020/03/03 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
毕业论文指导教师评语
2014/12/30 职场文书
入党介绍人意见范文
2015/06/01 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书