Rumah >pangkalan data >tutorial mysql >Django: Bagaimana untuk Menyelesaikan Ralat 'Jadual Tidak Wujud' Semasa Mengubah Suai Model?

Django: Bagaimana untuk Menyelesaikan Ralat 'Jadual Tidak Wujud' Semasa Mengubah Suai Model?

Patricia Arquette
Patricia Arquetteasal
2024-11-09 11:55:02200semak imbas

Django: How to Resolve the

Django: Menyelesaikan Isu "Jadual Tidak Wujud"

Apabila mengubah suai model atau memadamkan jadual dalam Django, menghadapi ralat "Jadual tidak wujud" boleh mengecewakan. Isu ini timbul apabila Django cuba melakukan operasi pada jadual yang telah digugurkan atau tidak wujud dalam pangkalan data.

Untuk menangani masalah ini, penyelesaian langkah demi langkah melibatkan perkara berikut:

  1. Lepaskan jadual yang terjejas: Mulakan dengan mengesahkan bahawa jadual yang menyebabkan ralat telah digugurkan daripada pangkalan data.
  2. Ulas model: Dalam fail models.py, ulas definisi model untuk jadual yang terjejas. Ini menghalang Django daripada cuba mengakses jadual yang tidak wujud.
  3. Pindahkan pangkalan data (tanpa --fake): Jika menggunakan Django 1.7 atau lebih baharu, jalankan arahan berikut:

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

    Untuk versi Django sebelum 1.7, gantikan arahan di atas dengan berikut:

    • python manage.py schemamigration --auto
    • python manage.py migrasi --fake
  4. Nyahkomen model: Setelah pemindahan pangkalan data selesai, nyahkomen takrif model dalam models.py.
  5. Pindahkan pangkalan data (tanpa --fake): Akhir sekali, jalankan pemindahan pangkalan data sekali lagi, kali ini tanpa bendera --fake. Ini akan mencipta jadual yang diperlukan.

Ingat, proses ini mengandaikan bahawa anda telah memadamkan jadual yang dipersoalkan. Jika jadual masih wujud, semak sama ada ia mempunyai sebarang rujukan atau kekangan yang menghalang pemadamannya.

Atas ialah kandungan terperinci Django: Bagaimana untuk Menyelesaikan Ralat 'Jadual Tidak Wujud' Semasa Mengubah Suai Model?. 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