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

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

python manage.py makemigrations

此处无错误mysql

再次执行sql

python manage.py migrate

发生报错数据库

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

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

 

这个错误的缘由是我手贱本身在mysql中删除了一张表,Django想作字段改变的时候发现表不在了,因而报错 - -code

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

 

解决办法以下:it

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

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

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

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

5.删除表内全部数据

6.从新执行两条命令

python manage.py makemigrations 
python manage.py migrate Model  

 

这样数据库就正常了!

相关文章
相关标签/搜索