2012-02-03 2 views
0

こんにちは、私はこの問題を1時間か2時間把握しようとしてきました。クエリーセットでのフィールド検索

私は基本的に、3つのモデルA、B、Cをすべて外部キーを使用してリンクしています。

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

しかしcは私に、クエリbで返された最初のオブジェクトの結果を除いて、任意の値を与えることはありません。これはbがクエリーセットとして返されていることが原因だと理解していますが、どのように使用するべきか理解できません。クエリbのすべてのオブジェクトの結果としてcを取得するにはどうすればよいですか?皆さんは、どうやって外来キーの関係を「フォロー」していますか?私はselect_related()の機能を試しましたが、私がしたいことはしません。助けてください!!

+0

私はIRC – asaji

答えて

3

おそらく__in構文を探しています:

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

患者がbクエリセットにあるすべてのCのオブジェクトを取得するには、BのオブジェクトがどのようなC.patientポイントにしていると仮定。

+0

にとても早く返信してくれます! __inが正確に何をしているのか教えていただけますか?ドキュメントは少し曖昧です。 – asaji

+0

btwは動作します!ありがとうございました – asaji

+0

属性が提供されているリストのどこに結果があるかを探します。 –

関連する問題