Django:解決「表不存在」錯誤
當Django 嘗試對不存在的表執行資料庫操作時,會發生此錯誤不再存在,通常是由於手動刪除或應用程式的變更models.
問題說明:
刪除模型相關表後,syncdb 命令嘗試再次建立該表。然而,由於該表的模型仍然存在於 models.py 中,Django 期望該表存在,但發現它丟失了。這會導致“表不存在”錯誤。
解決方案步驟:
執行遷移(對於Django 版本>= 1.7):
執行遷移(對於Django 版本>= 1.7):OR
OR
重新執行遷移或schema遷移(這次沒有
# Comment out the model in models.py # class feed(models.Model): # ... # Execute migrations python manage.py makemigrations python manage.py migrate # Comment in the model in models.py # class feed(models.Model): # ... # Re-execute migrations python manage.py migrate
Django 版本>= 1.7 的範例:
# Comment out the model in models.py # class feed(models.Model): # ... # Execute schema migration python manage.py schemamigration someapp --auto python manage.py migrate someapp --fake # Comment in the model in models.py # class feed(models.Model): # ... # Re-execute schema migration python manage.py migrate someapp
以上是如何修復 Django 中的「表不存在」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!