Django-Fixtures und ContentType-Probleme
Der Versuch, Django-Fixtures in eine MySQL-Datenbank zu laden, kann zu Inhaltstypkonflikten führen. Das Dumpen von Daten aus einer bestimmten App führt zunächst zu Problemen mit fehlenden Fremdschlüsseln, sodass zusätzliche Apps in den Dump-Befehl einbezogen werden müssen. Beim Laden des Fixtures mit diesem Ansatz kommt es jedoch zu einer Einschränkungsverletzung aufgrund widersprüchlicher Primärschlüssel für Inhaltstypen.
Diese Situation ist auf den Versuch von Django zurückzuführen, Inhaltstypen dynamisch mit anderen Primärschlüsselwerten als den im Fixture vorhandenen zu erstellen. Wie im Fehlerverfolgungssystem von Django vorgeschlagen, besteht eine Problemumgehung darin, Daten aus der Inhaltstypen-App zu sichern.
Wenn jedoch benutzerdefinierte Modellberechtigungen definiert sind, wird die empfohlene Lösung fraglich. Um dieses Problem zu beheben, wird die Verwendung von --natural im Befehl dumpdata empfohlen. Diese Option verwendet natürliche Schlüssel für Fremdschlüssel, was die Haltbarkeit erhöht.
Hier ist ein Beispiel, das diesen Ansatz demonstriert:
./manage.py dumpdata --natural escola > fixture.json
Darüber hinaus gibt es weitere hilfreiche Argumente, die mit dumpdata verwendet werden können, darunter :
Das obige ist der detaillierte Inhalt vonWie löse ich Django Fixture ContentType-Konflikte beim Laden in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!