码迷,mamicode.com
首页 > 数据库 > 详细

django.db.utils.ProgrammingError: 1146 的解决办法

时间:2018-04-26 23:24:23      阅读:2862      评论:0      收藏:0      [点我收藏+]

标签:改变   com   字段   业务需求   pre   建立   自己的   分享   mode   

在models中设置完数据库相关的东西后执行命令

python manage.py makemigrations

此处无错误

再次执行

python manage.py migrate

发生报错

错误信息很长,仔细查找,发现错误根源

django.db.utils.ProgrammingError: (1146, "Table ‘test.model_stude
nt‘ doesn‘t exist")

 

这个错误的原因是我手贱自己在mysql中删除了一张表,Django想做字段改变的时候发现表不在了,于是报错 - -

杜绝再次发生的方法就是通过Django中的设置进行表的修改,不要自己去mysql中删除表

 

解决办法如下:

1.将mysql中自己建立的表删除(除了Django自动生成的表除外,将因业务需求自己设置的表删除)

2.找到自己的模型,目录中有一个名为“migrations”的文件夹,进入这个文件夹

3.保留pycache文件夹和init文件,其余的删除

技术分享图片

4.在mysql中找到你的数据库,找到表名为“django_migrations”的表

技术分享图片

5.删除表内所有数据

6.重新执行两条命令

python manage.py makemigrations 
python manage.py migrate Model  

 

这样数据库就正常了!

 

django.db.utils.ProgrammingError: 1146 的解决办法

标签:改变   com   字段   业务需求   pre   建立   自己的   分享   mode   

原文地址:https://www.cnblogs.com/chestnut-egg/p/8955224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!