您好,登錄后才能下訂單哦!
在Django的2.0版本中,外鍵字段 ForeignKey
和一對一字段 OneToOneField
都必須設置 on_delete
屬性,否則會有以下報錯:
TypeError: __init__() missing 1 required positional argument: 'on_delete'
對于on_delete
字段的取值含義如下:
on_delete=None, # 刪除關聯表中的數據時,當前表與其關聯的field的行為
on_delete=models.CASCADE, # 刪除關聯數據,與之關聯也刪除
on_delete=models.DO_NOTHING, # 刪除關聯數據,什么也不做
on_delete=models.PROTECT, # 刪除關聯數據,引發錯誤ProtectedError
on_delete=models.SET_NULL, # 刪除關聯數據,與之關聯的值設置為null(前提外鍵字段需要設置為可空,一對一同理)
on_delete=models.SET_DEFAULT, # 刪除關聯數據,與之關聯的值設置為默認值(前提FK字段需要設置默認值,一對一同理)
on_delete=models.SET, # 刪除關聯數據,
# 與之關聯的值設置為指定值,設置:models.SET(value)
# 與之關聯的值設置為可執行對象的返回值,設置:models.SET(可執行對象)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。