其中一個我的模型ForeignKey
的實際上是其他表上的MySQL視圖。我遇到的問題是,當我從這些表中刪除數據,Django的,如"deleting objects" documentation描述...如何用ForeignKeys創建一個Django模型,該模型不會級聯刪除子項?
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.
...試圖從我的觀點刪除行,它能這當然「T,所以引發錯誤:
mysql_exceptions.OperationalError '>=(1395, "Can not delete from join view 'my_db.my_mysql_view'"'
有什麼辦法能夠指定一個模式,將會爲我提供所有的Django的巫術一個ForeignKey
約束,但不會級聯刪除到了嗎?或者,有沒有辦法讓MySQL忽略命令從我的視圖中刪除一行而不是引發錯誤?
請參閱`on_delete = models.SET_NULL`:https://docs.djangoproject.com/en/1.4/ref/models/fields/#foreignkey(sinze 1.3版本) – danihp 2012-08-07 14:05:28