最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對django2.0 關聯表的必填on_delete參數的含義解析

 更新時間:2019年08月09日 09:23:55   作者:buxianghejiu  
今天小編就為大家分享一篇對django2.0 關聯表的必填on_delete參數的含義解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一對多(ForeignKey)

class ForeignKey(ForeignObject):
  def __init__(self, to, on_delete, related_name=None, related_query_name=None,
         limit_choices_to=None, parent_link=False, to_field=None,
         db_constraint=True, **kwargs):
    super().__init__(to, on_delete, from_fields=['self'], to_fields=[to_field], **kwargs)

一對一(OneToOneField)

class OneToOneField(ForeignKey):
  def __init__(self, to, on_delete, to_field=None, **kwargs):
    kwargs['unique'] = True
    super().__init__(to, on_delete, to_field=to_field, **kwargs)

從上面外鍵(ForeignKey)和一對一(OneToOneField)的參數中可以看出,都有on_delete參數,而 django 升級到2.0之后,表與表之間關聯的時候,必須要寫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,   # 刪除關聯數據,引發(fā)錯誤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. 與之關聯的值設置為可執(zhí)行對象的返回值,設置:models.SET(可執(zhí)行對象)

多對多(ManyToManyField)

class ManyToManyField(RelatedField):
  def __init__(self, to, related_name=None, related_query_name=None,
         limit_choices_to=None, symmetrical=None, through=None,
         through_fields=None, db_constraint=True, db_table=None,
         swappable=True, **kwargs):
    super().__init__(**kwargs)

因為多對多(ManyToManyField)沒有 on_delete 參數,所以略過不提.

以上這篇對django2.0 關聯表的必填on_delete參數的含義解析就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 深入探究Django中的Session與Cookie

    深入探究Django中的Session與Cookie

    周末小閑在家研究了下django的 cookie 和 session,所以下面這篇文章主要給大家深入地介紹了關于Django中Session與Cookie的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面跟著小編來一起看看吧。
    2017-07-07
  • PyQt5+Caffe+Opencv搭建人臉識別登錄界面

    PyQt5+Caffe+Opencv搭建人臉識別登錄界面

    這篇文章主要為大家詳細介紹了PyQt5+Caffe+Opencv搭建人臉識別登錄界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 解決pygal.style的LightColorizedStyle參數問題

    解決pygal.style的LightColorizedStyle參數問題

    這篇文章主要介紹了解決pygal.style的LightColorizedStyle參數問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • python學習之編寫查詢ip程序

    python學習之編寫查詢ip程序

    這篇文章主要介紹了python學習之編寫查詢ip程序 ,需要的朋友可以參考下
    2016-02-02
  • python中的sys模塊詳解

    python中的sys模塊詳解

    sys模塊是與python解釋器交互的一個接口,sys 模塊提供了許多函數和變量來處理 Python 運行時環(huán)境的不同部分,這篇文章主要介紹了python之sys模塊詳解,需要的朋友可以參考下
    2022-11-11
  • 使用Python去除字符串中某個字符的多種實現方式比較

    使用Python去除字符串中某個字符的多種實現方式比較

    python中字符串是不可變的,所以無法直接刪除字符串之間的特定字符,下面這篇文章主要給大家介紹了關于使用Python去除字符串中某個字符的多種實現方式比較的相關資料,需要的朋友可以參考下
    2022-06-06
  • Celery批量異步調用任務一直等待結果問題

    Celery批量異步調用任務一直等待結果問題

    這篇文章主要介紹了Celery批量異步調用任務一直等待結果問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 查找適用于matplotlib的中文字體名稱與實際文件名對應關系的方法

    查找適用于matplotlib的中文字體名稱與實際文件名對應關系的方法

    這篇文章主要介紹了查找適用于matplotlib的中文字體名稱與實際文件名對應關系的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Python模擬百度自動輸入搜索功能的實例

    Python模擬百度自動輸入搜索功能的實例

    今天小編就為大家分享一篇Python模擬百度自動輸入搜索功能的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python中的SOLID原則實例詳解

    Python中的SOLID原則實例詳解

    SOLID原則是由Robert C. Martin提出的以首字母縮寫命名的編碼準則,它代表了五種不同的編碼習慣,下面這篇文章主要給大家介紹了關于Python中SOLID原則的相關資料,需要的朋友可以參考下
    2023-02-02

最新評論

武宁县| 浑源县| 诸暨市| 赞皇县| 洛南县| 雷山县| 彰化市| 积石山| 利辛县| 贵南县| 巢湖市| 贵定县| 剑川县| 马边| 长乐市| 通江县| 太康县| 手游| 金寨县| 辉南县| 焦作市| 绵竹市| 和硕县| 新闻| 铁岭县| 嘉义市| 西丰县| 日喀则市| 永德县| 普兰县| 安宁市| 习水县| 元朗区| 铁岭县| 家居| 犍为县| 萝北县| 深圳市| 上思县| 兰考县| 鹤岗市|