出現原因:
因為直接在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