欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

django中related_name的用法說明

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

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

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

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

下面我們根據(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)文章

  • 2019 Python最新面試題及答案16道題

    2019 Python最新面試題及答案16道題

    這篇文章主要介紹了2019 Python最新面試題及答案16道題 ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • 解決python os.mkdir創(chuàng)建目錄失敗的問題

    解決python os.mkdir創(chuàng)建目錄失敗的問題

    今天小編就為大家分享一篇解決python os.mkdir創(chuàng)建目錄失敗的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python創(chuàng)建空列表的字典2種方法詳解

    Python創(chuàng)建空列表的字典2種方法詳解

    這篇文章主要介紹了Python創(chuàng)建空列表的字典2種方法詳解,需要的朋友可以參考下
    2020-02-02
  • Python模塊/包/庫安裝的六種方法及區(qū)別

    Python模塊/包/庫安裝的六種方法及區(qū)別

    這篇文章主要介紹了Python模塊/包/庫安裝六種方法,通過實例代碼給大家介紹了python中模塊、包、庫的區(qū)別和使用,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 使用python3批量下載rbsp數(shù)據(jù)的示例代碼

    使用python3批量下載rbsp數(shù)據(jù)的示例代碼

    這篇文章主要介紹了使用python3批量下載rbsp數(shù)據(jù)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • python實現(xiàn)最大優(yōu)先隊列

    python實現(xiàn)最大優(yōu)先隊列

    這篇文章主要為大家詳細介紹了python實現(xiàn)最大優(yōu)先隊列,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python之如何使用openpyxl設(shè)置單元格樣式

    python之如何使用openpyxl設(shè)置單元格樣式

    這篇文章主要介紹了python之如何使用openpyxl設(shè)置單元格樣式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python繪圖模塊?turtle案例代碼

    Python繪圖模塊?turtle案例代碼

    turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,想象一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)開始,它根據(jù)一組函數(shù)指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形,本文介紹Python繪圖模塊turtle,感興趣的朋友一起看看吧
    2023-01-01
  • python修改字典鍵(key)的方法

    python修改字典鍵(key)的方法

    在本篇文章里小編給大家整理的是關(guān)于python修改字典鍵(key)的方法以及相關(guān)知識點,需要的朋友們參考下。
    2019-08-08
  • 極簡Python庫CherryPy構(gòu)建高性能Web應用實例探索

    極簡Python庫CherryPy構(gòu)建高性能Web應用實例探索

    今天為大家介紹的是 CherryPy,它是一個極簡、穩(wěn)定且功能強大的Web框架,可以幫助開發(fā)者快速構(gòu)建高性能的 Web 應用程序,使用 CherryPy,你可以輕松地創(chuàng)建RESTful API、靜態(tài)網(wǎng)站、異步任務和 WebSocket 等應用
    2024-01-01

最新評論