django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决

作者:喂-不吃素的熊宝宝 时间:2022-01-12 14:02:31 

一、现象

最近在数据库中删除了一张表,重新执行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模块的,要执行就会全部重新生成,不然会提示部分表已经存在的错误。

来源:https://blog.csdn.net/weisubao/article/details/77187876

标签:django.db.utils.programmingerror,报错
0
投稿

猜你喜欢

  • 如何做一个文本书写器?

    2010-07-12 18:58:00
  • MySQL修改数据库大小

    2011-01-13 20:00:00
  • 基于Python实现音乐播放器的实现示例代码

    2023-11-26 23:58:50
  • 基于jQuery的自动完成插件

    2011-02-05 10:55:00
  • Python编程flask使用页面模版的方法

    2023-08-23 19:01:55
  • python 邮件检测工具mmpi的使用

    2022-03-18 04:56:45
  • 番茄的js表单验证类

    2008-01-07 13:53:00
  • 低版本中Python除法运算小技巧

    2021-11-14 00:54:00
  • python sklearn包——混淆矩阵、分类报告等自动生成方式

    2022-05-29 12:19:27
  • python抽象基类用法实例分析

    2021-03-04 11:06:25
  • 在python中利用GDAL对tif文件进行读写的方法

    2022-03-25 08:08:07
  • Python简单遍历字典及删除元素的方法

    2021-12-31 08:57:51
  • Python数据可视化详解

    2021-10-02 19:28:55
  • django 基于中间件实现限制ip频繁访问过程详解

    2022-06-24 08:38:43
  • 使用python实现拉钩网上的FizzBuzzWhizz问题示例

    2021-06-18 08:41:38
  • PHP常用字符串函数小结(推荐)

    2023-06-14 00:18:50
  • Python解释器以及PyCharm的安装教程图文详解

    2021-04-09 11:56:32
  • Echarts.js无法引入问题解决方案

    2023-08-12 22:57:26
  • python 实现数据库中数据添加、查询与更新的示例代码

    2023-10-08 04:09:51
  • python调用机器喇叭发出蜂鸣声(Beep)的方法

    2022-01-09 15:17:20
  • asp之家 网络编程 m.aspxhome.com