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  

 

這樣數據庫就正常了!

相關文章
相關標籤/搜索