Ich habe Probleme beim Laden von Django-Fixtures in meine MySQL-Datenbank aufgrund von Konflikten mit Inhaltstypen. Zuerst habe ich versucht, die Daten nur von meiner App wie folgt zu sichern:
./manage.py dumpdata escola > fixture.json
Es fehlten jedoch immer wieder Probleme mit Fremdschlüsseln, da meine App "escola" Tabellen aus anderen Anwendungen verwendet. Ich habe weitere Apps hinzugefügt, bis ich dazu kam:
./manage.py dumpdata contenttypes auth escola > fixture.json
Das Problem ist nun die folgende Einschränkungsverletzung, wenn ich versuche, die Daten als Testgerät zu laden:
IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
Es scheint, dass das Problem darin besteht, dass Django versucht, Inhaltstypen mit verschiedenen Primärschlüsselwerten, die mit den Primärschlüsselwerten des Geräts in Konflikt stehen, dynamisch neu zu erstellen. Dies scheint der gleiche zu sein wie der hier dokumentierte Fehler: http://code.djangoproject.com/ticket/7052
Das Problem ist, dass die empfohlene Problemumgehung darin besteht, die Contenttypes-App zu sichern, die ich bereits mache!? Was gibt? Wenn es einen Unterschied macht, habe ich einige benutzerdefinierte Modellberechtigungen, wie hier dokumentiert: http://docs.djangoproject.com/de/dev/ref/models/options/#permissions
-e contenttypes -e auth.permission
mit verwenden--natural
? Ich habe es nur ohne die--natural
Option versucht und es hat funktioniert. Auch die Dokumentation hier sagt, dass man diese Option verwenden sollte, wenn DUMPINGauth.permission
undcontenttypes
.