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 に答える