2012-02-03 73 views
0

嗨,大家好,我一直試圖弄清楚這個問題一兩個小時,它讓我難倒了。使用查詢集進行字段查找

所以基本上我有3個模型,A,B,C,所有使用外鍵鏈接在一起。

b = B.objects.filter(resident=request.user) 
c = C.objects.filter(todays_treatment=medication,patient=b) 

然而c不會給我任何值,除了在查詢b返回的第一個對象的結果。我知道這是由於b作爲查詢集返回,但我不明白我應該如何使用它呢?我如何才能將c作爲查詢b中所有對象的結果?你們通常如何「追隨」外鍵關係?我試過select_related()函數,但它不會做我想做的事情。請幫忙!!

+0

嘿是的我會繼續在IRC – asaji 2013-12-08 20:22:38

回答

3

你可能尋找__in語法:

c = C.objects.filter(todays_treatment=medication, patient__in=b) 

要獲得所有C對象是當患者在b查詢集,假設乙對象是什麼C.patient點。

+0

感謝您的回覆如此之快!你能告訴我什麼__in完全是嗎?該文檔有點模糊.. – asaji 2012-02-03 06:36:00

+0

順便說一句的作品!非常感謝 – asaji 2012-02-03 06:36:57

+0

它尋找屬性在提供給它的列表中的結果。 – 2012-02-03 06:39:29