Django2.0 on_delete屬性
阿新 • • 發佈:2018-11-02
Django2.0建欄位關聯相應表時沒寫on_delete屬性報錯 TypeError: init() missing 1 required positional argument: ‘on_delete’
下面on_delete值的含義
on_delete=None, # 刪除關聯表中的資料時,該資料也會被刪除,不存在 on_delete=models.CASCADE, # 刪除關聯資料,與之關聯也刪除 on_delete=models.DO_NOTHING, # 刪除關聯資料,什麼也不做 on_delete=models.PROTECT, # 刪除關聯資料,引發錯誤ProtectedError on_delete=models.SET_NULL, # 刪除關聯資料,與之關聯的值設定為null(前提FK欄位需要設定為可空) on_delete=models.SET_DEFAULT, # 刪除關聯資料,與之關聯的值設定為預設值(前提FK欄位需要設定預設值) on_delete=models.SET, # 刪除關聯資料, a. 與之關聯的值設定為指定值,設定:models.SET(值) b. 與之關聯的值設定為可執行物件的返回值,設定:models.SET(可執行物件) def func(): return 10 class MyModel(models.Model): user = models.ForeignKey( to="User", to_field="id" on_delete=models.SET(func),)