フィールドにリスト内のすべての値が含まれているかどうかをチェックするdjangoクエリを実行する必要があります。リストには、様々な長さの答えをDjango:リスト内の各値が使用されているクエリ
例
User.objects.filter(first_name__contains=['x','y','z'])
フィールドにリスト内のすべての値が含まれているかどうかをチェックするdjangoクエリを実行する必要があります。リストには、様々な長さの答えをDjango:リスト内の各値が使用されているクエリ
例
User.objects.filter(first_name__contains=['x','y','z'])
reduce(operator.and_, (Q(first_name__contains=x) for x in ['x', 'y', 'z']))
import operator
from django.db.models import Q
q = ['x', 'y', 'z']
query = reduce(operator.and_, (Q(first_name__contains = item) for item in ['x', 'y', 'z']))
result = User.objects.filter(query)
Hey :)。ようこそ。あなたの答えに少しの肉を加えたいと思いますか?私たちは通常、答えのための単純なコードダンプよりも少しだけ多くの情報を提供したいと思っています。ありがとう^^ – Patrice
@Patrice 339K担当者が選んだ答えに同じコメントをつけるかもしれない。この答えには、少なくとももっと文脈があります。 :) – bozdoz
Python 3を使用している場合は、 'functools'を使用し、' functools.reduce'を使用してください。 [this](https://stackoverflow.com/a/10226421/1526703)を参照してください。 – Anupam
のおかげだろう。私はまだこれを使用する方法がわかりません... – neolaser
'User.objects.filter(reduce(...))'彼は 'User.objects.filter(Q(first_name__contains = 'x')&Q( first_name__contains = 'y')&Q(first_name__contains = 'z')) ' –
大丈夫です!おかげでIgnacioとYuji – neolaser