0

我有以下设计的要求:-example.com/?param1=blah¶m1=blah1....param1=blahn。请注意,我希望 param1 具有多个参数。现在要捕获参数 param1 的值,我执行以下操作

searchQery = request.GET.getlist('param1') 

我得到一个包含 param1 值的列表。我想使用复杂的查询

for item searchQuery:
      val = MyModel.objects.filter(Q(item__startswith=searchQuery[0])| Q(item__startswith=searchQuery[1])| Q(item__startswith=searchQuery[2])) all the way to searchQuery[n]

简而言之,我想动态地遍历列表的值,目前我迷路了。

4

1 回答 1

1
from operator import or_
val = MyModel.objects.filter(reduce(or_,(Q(item__startswith=x) for x in searchQuery)))

用于reduce组合生成的Q表达式序列。

于 2013-03-25T13:14:11.400 回答