Heim >Datenbank >MySQL-Tutorial >Wie behebe ich Django Fixture Loading IntegrityErrors, die durch ContentType-Konflikte verursacht werden?
Probleme mit ContentTypes beim Laden von Django-Fixtures
Problem:
Beim Versuch, Django zu laden Beim Importieren von Fixtures in eine MySQL-Datenbank kommt es zu Contenttype-Konflikten. Nach dem Dumping von Daten aus mehreren Apps, einschließlich „escola“, und dem Versuch, die Daten als Fixture zu laden, erhalten Sie die folgende Einschränkungsverletzung:
IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
Es scheint, dass Django versucht, Inhaltstypen mit unterschiedlichen Primärtypen neu zu erstellen Schlüsselwerte, die mit den Werten in der Vorrichtung in Konflikt stehen.
Lösung:
Die empfohlene Lösung ist um dumpdata --natural zu verwenden. Diese Option verwendet „natürliche Schlüssel“ zur Darstellung von Fremdschlüsseln, die langlebiger und weniger konfliktanfällig sind. Anstelle von Permission.id wird beispielsweise Permission.codename verwendet.
Zusätzliche Tipps:
Berücksichtigen Sie die folgenden zusätzlichen Argumente für dumpdata:
Das obige ist der detaillierte Inhalt vonWie behebe ich Django Fixture Loading IntegrityErrors, die durch ContentType-Konflikte verursacht werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!