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


出現原因:

因為直接在mysql中刪除了表或者在執行過一次遷移后,在modles中修改了表名及對應的方法和引用


產生后果:

1.遷移的過程中可能出現表不存在的報錯情況
2.遷移過程沒有報錯,在admin管理頁面點擊相應的表,報錯django.db.utils.ProgrammingError: 1146...

解決辦法 :

1.刪除migrations文件夾中除了__init__.py 文件外所有文件(pycharm環境下) 或
找到報錯對應的app中的本地文件夾,刪除其中migrations文件夾中除了__init__.py 和__pycache__文件夾以外所有文件(資源管理器環境下)


2.在mysql中,找到django_migrations表,刪除報錯app對應的行數據
如:報錯app為vend則刪除34行數據



3.重新遷移

python manage.py makemigrations
python manage.py migrate

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM