class A(models.Model):
date = models.DateField()
class B(models.Model):
foreign = models.ForeignKey(A, on_delete=models.CASCADE)
on_delete 參數
當一個被外鍵關聯的對象被刪除時,執行的相應操作CASCADE
模擬SQL語言中ON DELETE CASCADE約束,將定義有外鍵的模型對象同時刪除(django 1.11默認值),即A中被刪除時,B也被刪除 (關聯的那些行)PROTECT
阻止上面的刪除操作,但是彈出ProtectedError異常SET_NULL
將外鍵字段設爲null,只有當字段設置了null=True時,纔可以使用該參數SET_DEFAULT
將外鍵字段設爲默認值,只有當字段設置了default參數是,纔可以使用該參數DO_NOTHING
什麼也不做SET()
設置爲一個傳遞給SET()的值火一個回調函數的返回值
其中CASCADE
,SET_NULL
最常用