Uno de mis modelos que tiene ForeignKey
es en realidad una vista de MySQL en otras tablas. El problema que estoy corriendo en es que cuando se borra los datos de estas tablas, Django, tal como se describe en el "deleting objects" documentation ...¿Cómo creo un modelo de Django con ForeignKeys que no elimina en cascada elimina sus elementos secundarios?
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.
... trata de eliminar las filas de mi punto de vista, que por supuesto se puede 't, y así los tiros de error:
mysql_exceptions.OperationalError '>=(1395, "Can not delete from join view 'my_db.my_mysql_view'"'
¿hay alguna manera de especificar una restricción ForeignKey
en un modelo que me proporcionará toda la magia de Django, pero no se elimina en cascada sobre ella? O, ¿hay alguna manera de pedirle a MySQL que ignore los comandos para eliminar una fila de mi vista en lugar de generar un error?
Ver 'on_delete = models.SET_NULL': https://docs.djangoproject.com/en/1.4/ref/models/fields/#foreignkey (versión de sinze 1.3) – danihp
¿Por qué' SET_NULL' ayuda? 'UPDATE' de una vista para establecer una clave foránea en NULL aún genera una excepción. 'models.DO_NOTHING' ayuda sin embargo. – jnns