完美解決Django2.0中models下的ForeignKey()問題
阿新 • • 發佈:2020-05-20
Django2.0中編寫models類下的ForeignKey
book = models.ForeignKey('BookInfo')
django2.0與之前的1.8不同,
錯誤:
book = models.ForeignKey('BookInfo')
TypeError: __init__() missing 1 required positional argument: 'on_delete'
解決方法:
book = models.ForeignKey('BookInfo',on_delete=models.CASCADE,)
加上on_delete引數就可以了!!!
補充知識:Django ForeignKey ondelete
CASCADE:刪除一併刪除關聯表下的所有的資訊;
PROTECT:刪除資訊時,採取保護機制,丟擲錯誤:即不刪除關聯表的內容;
SET_NULL:只有當null=True才將關聯的內容置空;
SET_DEFAULT:設定為預設值;
SET( ):括號裡可以是函式,設定為自己定義的東西;
DO_NOTHING:字面的意思,啥也不幹,你刪除你的幹我毛線關係
以上這篇完美解決Django2.0中models下的ForeignKey()問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。