Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Ralat 'Jadual Tidak Wujud' dalam Django?

Bagaimana untuk Membetulkan Ralat 'Jadual Tidak Wujud' dalam Django?

Barbara Streisand
Barbara Streisandasal
2024-11-14 22:38:02951semak imbas

How to Fix the

Django: Menyelesaikan Ralat "Jadual Tidak Wujud"

Ralat ini berlaku apabila Django cuba melaksanakan operasi pangkalan data pada jadual yang tiada lebih lama wujud, biasanya disebabkan oleh pemadaman manual atau perubahan dalam model aplikasi.

Penjelasan Masalah:

Selepas menjatuhkan jadual berkaitan model, arahan syncdb cuba untuk mencipta jadual semula. Walau bagaimanapun, memandangkan model untuk jadual itu masih terdapat dalam models.py, Django menjangkakan jadual itu berada di sana tetapi mendapati ia tiada. Ini mengakibatkan ralat "Jadual tidak wujud".

Langkah Penyelesaian:

  1. Letakkan jadual (Anda sudah pun lakukan ini).
  2. Ulas model dalam models.py.
  3. Laksanakan migrasi (Untuk versi Django >= 1.7):

    • python manage.py makemigration
    • python manage.py migrate --fake

    ATAU

    Laksanakan pemindahan skema (Untuk versi Django < 1.7):

    • python manage.py schemamigration someapp --auto
    • python manage.py migrate someapp --fake
  4. Ulas dalam model dalam models.py.
  5. Laksanakan semula migrasi atau migrasi skema ( kali ini tanpa --palsu).

Contoh untuk versi 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

Contoh untuk versi 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

Dengan mengikut langkah ini, anda boleh mencipta semula jadual yang hilang dan menyelesaikan ralat "Jadual tidak wujud".

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Jadual Tidak Wujud' dalam Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn