Beim Laden von Django-Fixtures in MySQL können Konflikte im Zusammenhang mit Inhaltstypen auftreten. Versuche, Daten aus einer bestimmten App zu sichern, wie zum Beispiel:
./manage.py dumpdata escola > fixture.json
können zu Problemen mit fehlenden Fremdschlüsseln führen. Um dieses Problem zu beheben, können Sie zusätzliche Apps einschließen, was zu einem Befehl wie dem folgenden führt:
./manage.py dumpdata contenttypes auth escola > fixture.json
Dies kann dann jedoch zu Fehlern bei der Verletzung von Einschränkungen führen, wenn die Daten als Testvorrichtung geladen werden. Django versucht möglicherweise, Inhaltstypen mit unterschiedlichen Primärschlüsselwerten neu zu erstellen, was zu Konflikten mit denen im Fixture führt.
Um dieses Problem zu beheben, sollten Sie die Verwendung des Arguments --natural mit dumpdata in Betracht ziehen. Diese Option verwendet natürliche Schlüssel, z. B. Permission.codename anstelle von Permission.id, für die Darstellung von Fremdschlüsseln. Dies stellt die Haltbarkeit sicher und vermeidet potenzielle Konflikte.
Hier sind einige zusätzliche Argumente zur Verbesserung der Dumpdata-Nutzung:
Das obige ist der detaillierte Inhalt vonWie löse ich ContentType-Konflikte beim Laden von Django-Fixtures in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!