我有一個模型,它是一個列表。 例如:Django - 過濾器模型
mymodel.sessions = [session1, session2]
我需要一個查詢來獲取所有mymodels
這session1
是存在其會話。
的model`s場看起來像
sessions = models.ForeignKey("Session", related_name="abstracts",
null=True, blank=True)
謝謝!
我有一個模型,它是一個列表。 例如:Django - 過濾器模型
mymodel.sessions = [session1, session2]
我需要一個查詢來獲取所有mymodels
這session1
是存在其會話。
的model`s場看起來像
sessions = models.ForeignKey("Session", related_name="abstracts",
null=True, blank=True)
謝謝!
您可以使用沿着外鍵返回的反向查找來查詢相關模型中的值。
MyModel.objects.filter(sessions__id=1)
這將過濾所有MyModel
S作的外鍵的會話與id
的1
欲瞭解更多信息,請參閱https://docs.djangoproject.com/en/1.10/topics/db/queries/#lookups-that-span-relationships
filter(**kwargs)
返回包含匹配給定查找參數的對象的新QuerySet。
您可以使用id一個ForeignKey關係過濾器,如果你有的話:
中查找指定的字段必須是一個模型字段的名稱。雖然有一個例外,但在ForeignKey的情況下,您可以指定帶_id後綴的字段名稱。在這種情況下,value參數應該包含外部模型主鍵的原始值。
在你的情況下,本想以下幾點:
mymodel.objects.filter(sessions_id=4)
如果你想在任何其他字段篩選的會話模型,只需使用一個雙下劃線與現場。一些示例:
mymodel.objects.filter(sessions__name='session1')
mymodel.objects.filter(sessions__name__contains='1')
'sessions'是模型字段嗎?通常這些類型的關係使用外鍵關係來表達,但這似乎並不是代碼中發生的事情。 – brianpck
是的它是: sessions = models.ForeignKey(「Session」,related_name =「abstracts」, null = True,blank = True) –