Update table innoDB et Django
En travaillant avec le framework Djangoet une base de données InnoDB, il se peut que lors d'un enregistrement ou bien d' une mise à jour d'un champ de modèle lié, vous recontreriez une erreur du type:
IntegrityError 1452 Cannot add or update a child row: a foreign key constraint fails
Cette erreur apparaît lorsque que vous avez des tables en InnoDB car InnoDB gère les clés étrangères et les contraintes d'intégrités, la solution et donc de passer vos tables en MyISAM, mais si l'on veut garder les avantages de l'ÍnnoDB et bien il faudra choisir une autre solution
Ajouter l'option Init_command SET foreign_key_checks
Pour remédier à ça il suffit dans le settings de votre application Django, d'ajouter dans le dictionnaire OPTIONS l'option INIT_COMMAND et SET foreign_key_checks = 0 pour désactiver le check des contraintes d'intégrités, voici l'exemple:
DATABASES={'default':{Publié le: Samedi 28 janvier 2017
...
'OPTIONS':{
"init_command":"SET foreign_key_checks = 0;"
,}
,}