天天看點

django.db.utils.ProgrammingError: 1146 的解決辦法

在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檔案,其餘的删除

django.db.utils.ProgrammingError: 1146 的解決辦法

4.在mysql中找到你的資料庫,找到表名為“django_migrations”的表

django.db.utils.ProgrammingError: 1146 的解決辦法

5.删除表内所有資料

6.重新執行兩條指令

python manage.py makemigrations 
python manage.py migrate Model        

這樣資料庫就正常了!