J'ai du mal à charger les fixtures Django dans ma base de données MySQL en raison de conflits de types de contenu. J'ai d'abord essayé de vider les données de mon application uniquement comme ceci:
./manage.py dumpdata escola > fixture.json
mais j'ai continué à avoir des problèmes de clé étrangère manquante, parce que mon application "escola" utilise des tables d'autres applications. J'ai continué à ajouter des applications supplémentaires jusqu'à ce que j'arrive à ceci:
./manage.py dumpdata contenttypes auth escola > fixture.json
Maintenant, le problème est la violation de contrainte suivante lorsque j'essaie de charger les données en tant que montage de test:
IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
Il semble que le problème soit que Django essaie de recréer dynamiquement des types de contenu avec différentes valeurs de clé primaire qui sont en conflit avec les valeurs de clé primaire de l'appareil. Cela semble être le même que le bogue documenté ici: http://code.djangoproject.com/ticket/7052
Le problème est que la solution de contournement recommandée consiste à vider l'application contenttypes, ce que je fais déjà!? Ce qui donne? Si cela fait une différence, j'ai des autorisations de modèle personnalisées telles que documentées ici: http://docs.djangoproject.com/en/dev/ref/models/options/#permissions
-e contenttypes -e auth.permission
avec--natural
? J'ai juste essayé sans l'--natural
option et cela a fonctionné. La documentation ici indique également qu'il faut utiliser cette option si DUMPINGauth.permission
etcontenttypes
.