Django: 「テーブルが存在しません」エラー
アプリに関連付けられたテーブルを削除し、syncdb を使用してデータベースを再同期しようとするとコマンドを実行すると、テーブルが存在しないことを示すエラーが発生する場合があります。
原因:
欠落しているテーブルは、関連アプリのテーブルが削除されたときに削除されたテーブルである可能性があります。 Django では、データを同期する前にテーブルが存在する必要があります。
解決策:
不足しているテーブルを回復するには、次の手順に従います:
移行の作成 (Django 1.7 ):
Django バージョンが 1.7 以降の場合は、makemigrations コマンドを実行します:
python manage.py makemigrations
Apply Migrations (Fake Run):
Apply --fake フラグを使用してデータベースを実際に変更せずに移行します:
python manage.py migrate --fake
Re-apply Migrations (No Fake):
移行を再度実行します。今回は --fake フラグを省略してテーブルを永続的に作成します:
python manage.py migrate
Django の代替案 1.7:
1.7 より前のバージョンの Django では、次のコマンドを使用する必要があります:python manage.py schemamigration someapp --auto python manage.py migrate someapp --fake
以上がDjango データベースを再同期するときに発生する「テーブルが存在しません」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。