亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于Django2.0外鍵參數on_delete使用方法的案例分析

發布時間:2020-08-01 11:53:58 來源:億速云 閱讀:143 作者:清晨 欄目:編程語言

小編給大家分享一下關于Django2.0外鍵參數on_delete使用方法的案例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!

最新的django2.0使用外鍵(ForeignKey)和一對一(OneToOneField)的時候,必須添加on_delete參數,不然就會報錯。

剛使用django2.0的朋友,總是遇到類似下面的報錯,這就是沒有給外鍵添加on_delete參數的原因。

TypeError: __init__() missing 1 required positional argument: 'on_delete'

官方案例:

一對一(OneToOneField)

from django.conf import settings
from django.db import models
class MySpecialUser(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,)
    supervisor = models.OneToOneField(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,related_name=
    'supervisor_of',)

一對多(ForeignKey)

from django.db import models
class AbstractCar(models.Model):
    manufacturer = models.ForeignKey('Manufacturer', on_delete=models.CASCADE)
    class Meta:
        abstract = True

下面下整理的on_delete參數的各個值的含義:

on_delete=None,               # 刪除關聯表中的數據時,當前表與其關聯的field的行為
on_delete=models.CASCADE,     # 刪除關聯數據,與之關聯也刪除
on_delete=models.DO_NOTHING,  # 刪除關聯數據,什么也不做
on_delete=models.PROTECT,     # 刪除關聯數據,引發錯誤ProtectedError
# models.ForeignKey('關聯表', on_delete=models.SET_NULL, blank=True, null=True)
on_delete=models.SET_NULL,    # 刪除關聯數據,與之關聯的值設置為null(前提FK字段需要設置為可空,一對一同理)
# models.ForeignKey('關聯表', on_delete=models.SET_DEFAULT, default='默認值')
on_delete=models.SET_DEFAULT, # 刪除關聯數據,與之關聯的值設置為默認值(前提FK字段需要設置默認值,一對一同理)
on_delete=models.SET,         # 刪除關聯數據,
 a. 與之關聯的值設置為指定值,設置:models.SET(值)
 b. 與之關聯的值設置為可執行對象的返回值,設置:models.SET(可執行對象)

多對多不需要on_delete,這就不多說了。想要了解更多on_delete的資料,可去官網進行查看。

以上是關于Django2.0外鍵參數on_delete使用方法的案例分析的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平凉市| 长寿区| 射洪县| 汉沽区| 达拉特旗| 普兰县| 青冈县| 宝坻区| 九龙城区| 玉门市| 十堰市| 临湘市| 和顺县| 莎车县| 兴安县| 连云港市| 宣化县| 体育| 榆中县| 甘肃省| 杭州市| 凤山县| 大庆市| 南岸区| 大化| 香河县| 穆棱市| 乐安县| 祁连县| 河间市| 牙克石市| 芜湖市| 宁国市| 邓州市| 龙岩市| 文登市| 新昌县| 无为县| 凉山| 云南省| 通城县|