2017-01-27 12 views
0

。 たとえば、すべてのプロファイルを取得したいが、まだ開始していないプランのみを選択する。Djangoのフィルタ関連分野

このような動作は可能ですか? このコードでは、今後計画がないプロファイルは返されません。そして、これは私が探しているものではありません。私はすべてのプロファイルを取得し、その計画をフィルタリングしたい。

Profile.objects.filter(plans__start__gte = NOW())

また、それはそれらのいくつかはすでに始まっても、プロファイルのすべてのプランを返します。

+0

Profile.objects.filter(plans__start__lt = NOW())? –

答えて

1

Prefetchを使用しようと、これはあなたにそれ内のすべてのプロファイルが、計画を与えるstard日によってフィルタリングされます。

plans = Plan.objects.filter(start__gte=now()) 
profiles = Profile.objects.prefetch_related(Prefetch('plans', queryset=plans)).all() 
+1

ありがとうございます。それだけが必要 –

関連する問題