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

Barbara Streisand
Lepaskan: 2024-11-14 22:38:02
asal
908 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan