繁体   English   中英

在Django查询中串联过滤器

[英]Concatenate filters in django query

我想做以下事情:

可以说我有:

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”结合在一起

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

我可能没有完全正确地优化它,但是应该遵循这些思路。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM