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:
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
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
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!