我正在执行一个将一堆 Q 组合在一起的查询,这似乎需要很多时间。这是一些伪代码
query_params = []
for i in range(80): #there are about 80ish Q objects being created
query_params.append(Q(filter_stuff))
然后我或他们一起
query_params = reduce(or_, query_params)
当我执行查询时
query = list(MyModel.objects.filter(query_params))
它挂了很长时间。我知道这是一个非常笼统的问题,如果不深入了解数据结构(在这里很难给出),就很难给出诊断。但我只是好奇Q
在 django 查询中 or-ing 对象是否存在固有的性能影响