ホームページ >データベース >mysql チュートリアル >Django で「テーブルが存在しません」エラーを修正する方法?

Django で「テーブルが存在しません」エラーを修正する方法?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-14 22:38:02950ブラウズ

How to Fix the

Django: 「テーブルが存在しない」エラーの解決

このエラーは、Django が存在しないテーブルに対してデータベース操作を実行しようとすると発生します。通常は手動による削除またはアプリケーションの変更が原因で、以前より存在しています。 models.

問題の説明:

モデル関連のテーブルを削除した後、syncdb コマンドはテーブルを再度作成しようとします。ただし、テーブルのモデルは models.py にまだ存在しているため、Django はテーブルが存在することを期待していますが、テーブルが存在しないことがわかります。これにより、「テーブルが存在しません」エラーが発生します。

解決策の手順:

  1. テーブルを削除します (すでに
  2. モデルをコメントアウトします。 models.py.
  3. 移行の実行 (Django バージョン >= 1.7 の場合):

    • python manage.py makemigrations
    • python manage.py 移行--fake

    OR

    スキーマ移行の実行 (Django バージョン

    • python manage.py schemamigration someapp --auto
    • python manage.py merge someapp --fake
  4. models.py.
  5. 移行またはスキーマ移行を再実行します (今回は移行なし) --fake).

Django バージョンの例 >= 1.7:

# 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。