Un de mes modèles qui a ForeignKey
est en fait une vue MySQL sur d'autres tables. Le problème que je suis en cours d'exécution en est que lorsque je supprime les données de ces tables, Django, comme décrit dans le "deleting objects" documentation ...Comment créer un modèle Django avec ForeignKeys qui ne cascade pas les suppressions à ses enfants?
When Django deletes an object, it emulates the behavior of the SQL constraint ON DELETE CASCADE -- in other words, any objects which had foreign keys pointing at the object to be deleted will be deleted along with it.
... essaie de supprimer des lignes de mon point de vue, ce qui bien sûr il peut « t, et ainsi jette l'erreur:
mysql_exceptions.OperationalError '>=(1395, "Can not delete from join view 'my_db.my_mysql_view'"'
Est-il possible de spécifier une contrainte ForeignKey
sur un modèle qui me fournira toutes les Django magie, mais ne cascade supprime sur elle? Ou est-il possible de demander à MySQL d'ignorer les commandes pour supprimer une ligne de ma vue au lieu de déclencher une erreur?
Voir 'on_delete = models.SET_NULL': https://docs.djangoproject.com/fr/1.4/ref/models/fields/#foreignkey (version sinze 1.3) – danihp
Pourquoi' SET_NULL' aiderait? 'UPDATE's une vue pour définir une clé étrangère à NULL soulève toujours une exception. 'models.DO_NOTHING' aide cependant. – jnns