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

django中related_name的用法說明

 更新時間:2020年05月20日 11:39:33   作者:不見天高  
這篇文章主要介紹了django中related_name的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我們從一個簡單的事說起:

吃貨君到水果攤撿漏買了兩種水果,分別是人參果和蟠桃;后來水果攤主冥冥中感覺自己遺失了重寶,似乎和一個100歲的老爺爺有關(guān),翻看自己的收款賬單,當看到吃貨君的賬單時心頭一緊,就是他買走了我的寶貝,我就要看看他買了我的什么寶貝! 店主通過吃貨君的名字找到了他買的水果,發(fā)現(xiàn)竟然有萬年蟠桃以及億年人參過后,嚎啕大哭起來?。?!

吃飯君是走了什么運呢???

下面我們根據(jù)上面的小情節(jié)定義兩個模型,分別是買主模型以及水果模型,一個買主對應多個水果模型,簡單的一對多模型:

class Buyer(models.Model):
  name = models.CharField(verbose_name='買主名', max_length=10) 
  Alipay_id = models.CharField(verbose_name='支付寶賬號') 
  age = models.IntegerField(verbose_name='買主年齡',blank = True)
 
class Fruit(models.Model): 
  buyer = models.ForeignKey(Buyer, related_name='buyer_fruit') 
  fruit_name = models.CharField(verbose_name='水果名', max_length=10) 
  weight = models.FloatField(verbose_name='水果重量') 

通常,我們要查詢買主買了哪些水果,首先要根據(jù)條件找到買主信息,然后根據(jù)買主信息找到買主所購買的水果,本例中如下:

#首先獲得水果模型中外鍵指向的表中對象:
buyer = Buyer.objects.filter(age = 100).first()
 
#然后通過‘_set'方法獲得子表中的數(shù)據(jù):
fruits = buyer.fruit_set.all() 
"""
django 默認每個主表的對象都有一個是外鍵的屬性,可以通過它來查詢到所有屬于主表的子表的信息。 這個屬性的名稱默認是以子表的名稱小寫加上_set()來表示,這里我們的主表是buyer,字表是fruit,所以主表外鍵的屬性就是fruit_set
"""

上面的fruit_set是django為對象buyer默認創(chuàng)建的外鍵的屬性,個人建議采用自定義的方式定義主表的外鍵,這樣使用時更熟悉一些吧!

而related_name就實現(xiàn)這個功能,在字表中定義外鍵時,增加related_name字段指定這個字表在主表中對應的外鍵屬性,

如下:

class Fruit(models.Model): 
  buyer = models.ForeignKey(Buyer, related_name='buyer_fruit') 
"""
主表:buyer
子表:fruit
子表在主表中對應的外鍵屬性:related_name='buyer_fruit'
"""

那么我們就可以通過自定義外鍵的方式找到需要的信息了:

#首先獲得水果模型中外鍵指向的表中對象:
buyer = Buyer.objects.filter(age = 100).first()
 
#然后通過子表中自定義的外鍵獲取子表的所有信息:
fruits = buyer.buyer_fruit.all() 

以上這篇django中related_name的用法說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • django實現(xiàn)模型字段動態(tài)choice的操作

    django實現(xiàn)模型字段動態(tài)choice的操作

    這篇文章主要介紹了django實現(xiàn)模型字段動態(tài)choice的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python語法學習之進程間的通信方式

    Python語法學習之進程間的通信方式

    進程在創(chuàng)建之后是沒有辦法獲取返回值的,但有的時候兩個進程之間需要進行相互之間的配合才能完成工作,這就需要通信的幫助。本文主要介紹了Python中進程間的通信方式,需要的可以了解一下
    2022-04-04
  • 基于Python獲取亞馬遜的評論信息的處理

    基于Python獲取亞馬遜的評論信息的處理

    這篇文章主要介紹了基于Python獲取亞馬遜的評論信息的處理方法,用戶的評論能直觀的反映當前商品值不值得購買,亞馬遜的評分信息也能獲取到做一個評分的權(quán)重,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • Python實現(xiàn)多線程抓取網(wǎng)頁功能實例詳解

    Python實現(xiàn)多線程抓取網(wǎng)頁功能實例詳解

    這篇文章主要介紹了Python實現(xiàn)多線程抓取網(wǎng)頁功能,結(jié)合具體實例形式詳細分析了Python多線程編程的相關(guān)操作技巧與注意事項,并附帶demo實例給出了多線程抓取網(wǎng)頁的實現(xiàn)方法,需要的朋友可以參考下
    2017-06-06
  • python判斷all函數(shù)輸出結(jié)果是否為true的方法

    python判斷all函數(shù)輸出結(jié)果是否為true的方法

    在本篇內(nèi)容里小編給各位整理的是一篇關(guān)于python判斷all函數(shù)輸出結(jié)果是否為true的方法,有需要的朋友們可以學習下。
    2020-12-12
  • Python爬蟲程序架構(gòu)和運行流程原理解析

    Python爬蟲程序架構(gòu)和運行流程原理解析

    這篇文章主要介紹了Python爬蟲程序架構(gòu)和運行流程原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • Sphinx環(huán)境配置及VScode編寫Rst文檔轉(zhuǎn)html的步驟

    Sphinx環(huán)境配置及VScode編寫Rst文檔轉(zhuǎn)html的步驟

    sphinx主要用于編寫 reStructuredText 和 Markdown 格式技術(shù)文檔,編寫此類技術(shù)文檔時Sphinx工具可將其轉(zhuǎn)為html、pdf、ePub等格式,這篇文章主要介紹了Sphinx環(huán)境配置及VScode編寫Rst文檔轉(zhuǎn)html,需要的朋友可以參考下
    2023-03-03
  • Python實現(xiàn)的尋找前5個默尼森數(shù)算法示例

    Python實現(xiàn)的尋找前5個默尼森數(shù)算法示例

    這篇文章主要介紹了Python實現(xiàn)的尋找前5個默尼森數(shù)算法,簡單講述了默尼森數(shù)的概念,并結(jié)合實例形式分析了Python求解默尼森數(shù)算法的相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • 解決python便攜版無法直接運行py文件的問題

    解決python便攜版無法直接運行py文件的問題

    這篇文章主要介紹了解決python便攜版無法直接運行py文件的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 利用Python探測附近WIFI密碼的詳細代碼

    利用Python探測附近WIFI密碼的詳細代碼

    這篇文章主要介紹了利用Python探測附近WIFI密碼,基于python腳本實現(xiàn)wifi密碼的暴力破解從而實現(xiàn)免費蹭網(wǎng),本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2022-01-01

最新評論

海原县| 迁西县| 中阳县| 成都市| 哈巴河县| 通山县| 犍为县| 揭西县| 临沂市| 富锦市| 景泰县| 灵武市| 阳新县| 贡觉县| 崇仁县| 洛宁县| 汾阳市| 札达县| 本溪| 阳东县| 杭州市| 额济纳旗| 莒南县| 昆明市| 凤凰县| 禄劝| 陇川县| 临澧县| 当阳市| 钟祥市| 莫力| 双峰县| 福鼎市| 吐鲁番市| 西峡县| 正镶白旗| 泽普县| 东阳市| 方山县| 河池市| 海兴县|