PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Django-Migrationen:Beziehung existiert bereits

Wie wäre es damit?

(Überspringen Sie diesen Schritt, wenn Sie bereits eine Migrationsdatei bereit haben)

Es werden Migrationen für dieses Paket erstellt, sagen wir mit einem Namen wie 0001_initial.py

Bearbeiten Sie die Datei manuell, sodass Sie alle Modelle dort löschen, außer denen, die bereits in der Datenbank erstellt wurden.

Jetzt führen Sie eine gefälschte Migration durch. Dadurch wird Ihre Datenbank mit Modellen synchronisiert.

Führen Sie dann makemigrations erneut aus, um die restlichen Tabellen zusammen mit einer neuen Migrationsdatei zu erstellen.

Zu Ihrer anderen Frage, warum makemigrations Ihre Modelle nicht erkannt hat, kann folgende Gründe haben:

  1. Migrationen für diese Änderungen sind bereits in einigen Migrationsdateien vorhanden.
  2. Sie haben es versäumt, Paketname in INSTALLED_APPS zu erwähnen, aber ich glaube, Sie haben es hier getan.