2016-09-30 180 views
2

我有一個模型,它是一個列表。 例如:Django - 過濾器模型

mymodel.sessions = [session1, session2] 

我需要一個查詢來獲取所有mymodelssession1是存在其會話。

的model`s場看起來像

sessions = models.ForeignKey("Session", related_name="abstracts", 
           null=True, blank=True) 

謝謝!

+0

'sessions'是模型字段嗎?通常這些類型的關係使用外鍵關係來表達,但這似乎並不是代碼中發生的事情。 – brianpck

+0

是的它是: sessions = models.ForeignKey(「Session」,related_name =「abstracts」, null = True,blank = True) –

回答

0

Django docs for filter

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')