Maison > Article > base de données > Comment résoudre les conflits de type de contenu du luminaire Django lors du chargement dans MySQL ?
Problèmes d'appareils Django et de ContentType
Tenter de charger des appareils Django dans une base de données MySQL peut entraîner des conflits de types de contenu. Le dumping des données d'une application spécifique entraîne initialement des problèmes de clé étrangère manquante, nécessitant l'inclusion d'applications supplémentaires dans la commande dump. Cependant, le chargement de l'appareil avec cette approche rencontre une violation de contrainte en raison de clés primaires conflictuelles pour les types de contenu.
Cette situation découle de la tentative de Django de recréer dynamiquement des types de contenu avec des valeurs de clé primaire différentes de celles présentes dans l'appareil. Comme suggéré dans le système de suivi des bogues de Django, une solution de contournement consiste à vider les données de l'application de types de contenu.
Cependant, si les autorisations du modèle personnalisé sont définies, la solution recommandée devient discutable. Pour résoudre ce problème, il est recommandé d'utiliser --natural dans la commande dumpdata. Cette option utilise des clés naturelles pour les clés étrangères, ce qui améliore la durabilité.
Voici un exemple illustrant cette approche :
./manage.py dumpdata --natural escola > fixture.json
De plus, il existe d'autres arguments utiles qui peuvent être utilisés avec dumpdata, notamment :
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!