1. 程式人生 > 程式設計 >完美解決Django2.0中models下的ForeignKey()問題

完美解決Django2.0中models下的ForeignKey()問題

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()問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。