Maison > base de données > tutoriel mysql > Comment résoudre les erreurs d'intégrité de chargement du luminaire Django causées par des conflits ContentType ?

Comment résoudre les erreurs d'intégrité de chargement du luminaire Django causées par des conflits ContentType ?

Patricia Arquette
Libérer: 2024-12-01 15:55:12
original
474 Les gens l'ont consulté

How to Resolve Django Fixture Loading IntegrityErrors Caused by ContentType Conflicts?

Problèmes avec ContentTypes lors du chargement du luminaire Django

Problème :

Lors de la tentative de chargement de Django luminaires dans une base de données MySQL, vous rencontrez des conflits de types de contenu. Après avoir vidé les données de plusieurs applications, y compris « escola », et tenté de charger les données en tant qu'appareil, vous recevez la violation de contrainte suivante :

IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
Copier après la connexion

Il semble que Django tente de recréer des types de contenu avec différents types de contenu principaux. valeurs clés qui entrent en conflit avec les valeurs du luminaire.

Solution :

La solution recommandée est pour utiliser dumpdata --natural. Cette option utilise des « clés naturelles » pour représenter des clés étrangères, qui sont plus durables et moins sujettes aux conflits. Par exemple, au lieu d'utiliser Permission.id, il utilise Permission.codename.

Conseils supplémentaires :

Considérez les arguments supplémentaires suivants pour dumpdata :

  • --indent=4 : ajoute une indentation pour plus de lisibilité.
  • -e sessions : exclut la session data.
  • -e admin : exclut l'historique des actions de l'administrateur.
  • -e contenttypes -e auth.Permission : exclut les objets qui sont automatiquement recréés lors de la synchronisation lorsqu'ils sont utilisés avec --natural. Cela peut éviter les problèmes d'alignement avec les numéros d'identification.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal