Django使用詳解:ORM 的反向查找(related_name)
先定義兩個模型,一個是A,一個是B,是一對多的類型。
class A(models.Model):
name= models.CharField('名稱', max_length=32)
class B(models.Model):
a= models.ForeignKey(A, verbose_name='A類',related_name = "test")
name = models.CharField('稱呼', max_length=16)
如果我們要查詢一個A擁有哪些B的話,那我們要怎么做呢
通過主表來查詢子表
A.objects.get(id=A_id).test.all().order_by('-created'),
django 默認(rèn)每個主表的對象都有一個是外鍵的屬性,可以通過它來查詢到所有屬于主表的子表的信息。這個屬性的名稱默認(rèn)是以子表的名稱小寫加上_set()來表示(上面默認(rèn)以b_set訪問),默認(rèn)返回的是一個querydict對象。
related_name 可以給這個外鍵定義好一個別的名稱
通過子表來查詢主表
B.objects.filter(a=A_id).order_by('-created')
以上這篇Django使用詳解:ORM 的反向查找(related_name)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 調(diào)用 C++ 傳遞numpy 數(shù)據(jù)詳情
這篇文章主要介紹了Python 調(diào)用 C++ 傳遞numpy 數(shù)據(jù)詳情,文章主要分為兩部分,c++代碼和python代碼,代碼分享詳細(xì),需要的小伙伴可以參考一下,希望對你有所幫助2022-03-03
python UDF 實現(xiàn)對csv批量md5加密操作
這篇文章主要介紹了python UDF 實現(xiàn)對csv批量md5加密操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
詳細(xì)解析Python中__init__()方法的高級應(yīng)用
這篇文章主要介紹了詳細(xì)解析Python中__init__()方法的高級應(yīng)用,包括在映射和elif序列等地方的更為復(fù)雜的用法,需要的朋友可以參考下2015-05-05
Python數(shù)據(jù)分析之Python和Selenium爬取BOSS直聘崗位
今天教各位小伙伴怎么用Python和Selenium爬取BOSS直聘崗位,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python爬蟲和數(shù)據(jù)分析的小伙伴有很好地幫助,需要的朋友可以參考下2021-05-05
Python連接Hadoop數(shù)據(jù)中遇到的各種坑(匯總)
這篇文章主要介紹了Python連接Hadoop數(shù)據(jù)中遇到的各種坑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python2.7 json 轉(zhuǎn)換日期的處理的示例
這篇文章主要介紹了python2.7 json 轉(zhuǎn)換日期的處理的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03

