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的bottle框架跨域请求报错问题的处理方法
Mar 19 Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 Python
python使用itchat实现手机控制电脑
Feb 22 Python
Python3实现的字典、列表和json对象互转功能示例
May 22 Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
在python tkinter界面中添加按钮的实例
Mar 04 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
Apr 22 Python
python查看矩阵的行列号以及维数方式
May 22 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
Sep 01 Python
一行代码python实现文件共享服务器
Apr 22 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/08/18 杂记
第十节--抽象方法和抽象类
2006/11/16 PHP
php xml实例 留言本
2009/03/20 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
2020/03/23 PHP
对xmlHttp对象的理解
2011/01/17 Javascript
javascript算法学习(直接插入排序)
2011/04/12 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
document.createElement()用法
2013/03/13 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
JS中常用的消息框总结
2018/02/24 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
python读取和保存视频文件
2018/04/16 Python
python多任务及返回值的处理方法
2019/01/22 Python
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
python实现AdaBoost算法的示例
2020/10/03 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
交通事故协议书范文
2014/10/23 职场文书
自我工作评价范文
2015/03/06 职场文书
工作感想范文
2015/08/07 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫