亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Django model反向關聯名稱的方法

 更新時間:2018年12月15日 15:40:11   作者:GrandG7  
今天小編就為大家分享一篇Django model反向關聯名稱的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如果你在 ForeignKey或 ManyToManyField字段上使用 related_name屬性,你必須總是為該字段指定一個唯一的反向名稱。但在抽象基類上這樣做就會引發(fā)一個很嚴重的問題。因為 Django 會將基類字段添加到每個子類當中,而每個子類的字段屬性值都完全相同 (這里面就包括related_name)。

當你在(且僅在)抽象基類中使用 related_name 時,如果想繞過這個問題,名稱中就要包含'%(app_label)s'和 ‘%(class)s'。

‘%(class)s'會替換為子類的小寫加下劃線格式的名稱,字段在子類中使用。

‘%(app_label)s'會替換為應用的小寫加下劃線格式的名稱,應用包含子類。每個安裝的應用名稱都應該是唯一的,而且應用里每個模型類的名稱也應該是唯一的,所以產生的名稱應該彼此不同。

from django.db import models

class Base(models.Model):
 m2m = models.ManyToManyField(OtherModel, related_name="%(app_label)s_%(class)s_related")

 class Meta:
 abstract = True

class ChildA(Base):
 pass

class ChildB(Base):
 pass

ChildA.m2m 字段的反向名稱是 common_childa_related,而 ChildB.m2m 字段的反向名稱是 rare_childb_related。這取決于你如何使用 ‘%(class)s' 和'%(app_label)s來構造你的反向名稱。如果你沒有這樣做,Django 就會在驗證 model (或運行 migrate) 時拋出錯誤。

如果你沒有在抽象基類中為某個關聯字段定義 related_name 屬性,那么默認的反向名稱就是子類名稱加上'_set',它能否正常工作取決于你是否在子類中定義了同名字段。例如,在上面的代碼中,如果去掉 related_name屬性,在 ChildA中,m2m 字段的反向名稱就是 childa_set;而 ChildB的 m2m 字段的反向名稱就是 childb_set。

以上這篇Django model反向關聯名稱的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python網絡爬蟲之爬取微博熱搜

    Python網絡爬蟲之爬取微博熱搜

    這篇文章主要介紹了Python網絡爬蟲之爬取微博熱搜的相關知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • python構建自定義回調函數詳解

    python構建自定義回調函數詳解

    在工作中,回調函數使用的場景是非常多的,下面我們就來通過例子程序來詳細了解利用了Python的屬性機制構建了一個自定義回調函數的使用
    2017-06-06
  • 深度學習詳解之初試機器學習

    深度學習詳解之初試機器學習

    機器學習可應用在各個方面,本篇將在系統(tǒng)性進入機器學習方向前,初步認識機器學習,利用線性回歸預測波士頓房價,讓我們一起來看看吧
    2021-04-04
  • 使用Python一鍵提取PDF中的表格到Excel的方法詳解

    使用Python一鍵提取PDF中的表格到Excel的方法詳解

    從PDF文件獲取表格中的數據,也是日常辦公容易涉及到的一項工作,一個一個復制吧,效率確實太低了,用Python從PDF文檔中提取表格數據,并寫入Excel文件,灰?;页8咝?本文就給大家介紹一下如何使用Python一鍵提取PDF中的表格到Excel,需要的朋友可以參考下
    2023-08-08
  • 如何利用python檢測圖片是否包含二維碼

    如何利用python檢測圖片是否包含二維碼

    這篇文章主要介紹了如何利用python檢測圖片是否包含二維碼,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
    2020-10-10
  • Python matplotlib超詳細教程實現圖形繪制

    Python matplotlib超詳細教程實現圖形繪制

    matplotlib 模塊不僅提供了繪制統(tǒng)計圖表的功能,還支持繪制圓形、正方形、矩形等各種圖形。這篇文章主要為大家詳細介紹了利用matplotlib.patches 繪制一些基本圖形,快來跟隨小編一起學習吧
    2021-12-12
  • 手把手教你Windows如何在cmd中切換python版本

    手把手教你Windows如何在cmd中切換python版本

    通常在Windows系統(tǒng)下我們可能安裝了多個Python版本,那么該如何進行版本的切換呢?下面這篇文章主要給大家介紹了關于Windows如何在cmd中切換python版本的相關資料,需要的朋友可以參考下
    2023-04-04
  • Python實現購物車購物小程序

    Python實現購物車購物小程序

    這篇文章主要為大家詳細介紹了Python實現購物車購物小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python動態(tài)參數用法實例分析

    python動態(tài)參數用法實例分析

    這篇文章主要介紹了python動態(tài)參數用法,以實例形式較為詳細的分析了Python中動態(tài)參數的功能及使用技巧,需要的朋友可以參考下
    2015-05-05
  • 怎樣在Pandas DataFrame列中搜索值

    怎樣在Pandas DataFrame列中搜索值

    這篇文章主要介紹了怎樣在Pandas DataFrame列中搜索值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論