91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何使用django中related_name

發布時間:2020-07-23 10:30:18 來源:億速云 閱讀:140 作者:小豬 欄目:開發技術

這篇文章主要講解了如何使用django中related_name,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

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

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

吃飯君是走了什么運呢

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

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='水果重量') 

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

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

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

而related_name就實現這個功能,在字表中定義外鍵時,增加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有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

株洲县| 宁蒗| 布尔津县| 阳城县| 西峡县| 大田县| 张掖市| 正镶白旗| 来安县| 青浦区| 二连浩特市| 和静县| 岑溪市| 襄垣县| 蒙城县| 赤壁市| 南漳县| 德州市| 淮阳县| 安徽省| 安陆市| 洪湖市| 固镇县| 六安市| 民和| 郁南县| 鲁山县| 灵石县| 新建县| 大丰市| 温宿县| 商水县| 南投市| 望城县| 乐东| 建湖县| 富顺县| 临海市| 曲松县| 汾阳市| 海宁市|