Heim  >  Artikel  >  Datenbank  >  Wie behebe ich den Fehler „Tabelle existiert nicht' bei der Neusynchronisierung Ihrer Django-Datenbank?

Wie behebe ich den Fehler „Tabelle existiert nicht' bei der Neusynchronisierung Ihrer Django-Datenbank?

Barbara Streisand
Barbara StreisandOriginal
2024-11-08 19:41:02617Durchsuche

How to Fix the

Django: „Tabelle existiert nicht“-Fehler

Beim Löschen von mit einer App verknüpften Tabellen und dem Versuch, die Datenbank mithilfe der syncdb neu zu synchronisieren Befehl kann ein Fehler auftreten, der darauf hinweist, dass die Tabelle nicht mehr verfügbar ist existiert.

Ursache:

Die fehlende Tabelle ist wahrscheinlich diejenige, die entfernt wurde, als die Tabellen der zugehörigen App gelöscht wurden. Django erfordert das Vorhandensein einer Tabelle, bevor Daten synchronisiert werden können.

Lösung:

Um die fehlende Tabelle wiederherzustellen, befolgen Sie diese Schritte:

  1. Kommentieren Sie das Modell aus:
    Suchen Sie das Modell, das der fehlenden Tabelle in models.py entspricht, und kommentieren Sie es out.
  2. Migrationen erstellen (Django 1.7):
    Wenn die Django-Version 1.7 oder höher ist, führen Sie den Befehl makemigrations aus:

    python manage.py makemigrations
  3. Migrationen anwenden (Fake Ausführen):
    Wenden Sie die Migrationen an, ohne die Datenbank tatsächlich zu ändern, indem Sie das Flag --fake verwenden:

    python manage.py migrate --fake
  4. Kommentieren Sie das Modell aus:
    Kommentieren Sie das zuvor auskommentierte Modell in models.py aus.
  5. Erneut anwenden Migrationen (kein Fake):
    Führen Sie die Migrationen erneut aus, diesmal ohne das Flag --fake, um die Tabelle dauerhaft zu erstellen:

    python manage.py migrate

Alternative für Django < 1.7:

Für Django-Versionen vor 1.7 sollten die folgenden Befehle verwendet werden:

python manage.py schemamigration someapp --auto
python manage.py migrate someapp --fake

Durch Befolgen dieser Schritte können Sie die fehlende Tabelle erfolgreich wiederherstellen und die Datenbank synchronisieren richtig.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Tabelle existiert nicht' bei der Neusynchronisierung Ihrer Django-Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn