2

私は次のことをしたい:

私が持っているとしましょう:

query_terms = ["A", "B"]

そして、必要なのは次のクエリです。

House.objects.filter(
    Q(name__icontains="A") | Q(building__name__icontains="A",
    Q(name__icontains="B") | Q(building__name__icontains="B"
)

この「OR」ステートメントを動的な query_terms リストを持つ「AND」と結合する方法がわかりません

4

1 に答える 1

5
full_query = None
for query in query_terms:
    q = Q(name__icontains=query) | Q(building__name__icontains=query)
    if full_query is None:
        full_query = q
    else:
        full_query = full_query & q

私はおそらくこれを正確に最適化していませんが、これらの線に沿った何かが機能するはずです。

于 2012-08-29T19:14:18.890 に答える