Django使用詳解:ORM 的反向查找(related_name)
更新時間:2018年05月30日 09:27:05 作者:朗逸傳人
今天小編就為大家分享一篇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 默認每個主表的對象都有一個是外鍵的屬性,可以通過它來查詢到所有屬于主表的子表的信息。這個屬性的名稱默認是以子表的名稱小寫加上_set()來表示(上面默認以b_set訪問),默認返回的是一個querydict對象。
related_name 可以給這個外鍵定義好一個別的名稱
通過子表來查詢主表
B.objects.filter(a=A_id).order_by('-created')
以上這篇Django使用詳解:ORM 的反向查找(related_name)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
pyinstaller打包單文件時--uac-admin選項不起作用怎么辦
這篇文章主要介紹了pyinstaller打包單文件時--uac-admin選項不起作用怎么辦,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04詳談Python中列表list,元祖tuple和numpy中的array區(qū)別
下面小編就為大家分享一篇詳談Python中列表list,元祖tuple和numpy中的array區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04