2011-09-03 84 views

回答

1

看看ForeignKey文檔。它說:

當一個ForeignKey引用的對象被刪除時,默認情況下Django模擬SQL約束ON DELETE CASCADE的行爲,並刪除包含ForeignKey的對象。這種行爲可以通過指定on_delete參數來覆蓋。

所以默認行爲是在級聯刪除,但可以通過指定這樣的改變:

class Foobar(models.Model): 
    user = models.ForeignKey(User, on_delete=models.SET(User.objects.get_or_create(username="foooobarrrr")[0])) 
+5

感謝jergason,怎麼樣上更新?我仍然面臨着很多問題。當我嘗試更新子記錄時,我不斷收到mysql的錯誤 –

+0

發佈您的代碼。當我嘗試更新子記錄時,我不確定'mysql的錯誤'。 – jergason

+1

@Jergason我無法找到on_update版本。 –