1

この辞書を持っているとします

mydict['number'] = {23,24,25}
mydict['name'] = {"john","mike","kaff"}
mydict['area'] = {"london", "usa", "japan"}

私はすでにクエリセットを持っていますqs

dictionaryしかし、上記のようなものに基づいて追加のフィルタリングが必要です

qs.filter (where number __icontains in 23,24,25)

などqs.filter (where name __icontains in john, mike, kaff)など

編集:

これは私が試したものですが、ラフです

query_list = []

for key1 in mydict.iteritems():
  for myval in  mydict[key1]:
    qry = qry + Q(myval__icontains= myval) |
query_list.append(qry)

queryset = Student.objects.filter(reduce(operator.and_, query_list))
4

2 に答える 2

0

引数をfilterfromQオブジェクトに結合します。https://docs.djangoproject.com/en/dev/topics/db/queries/#complex-lookups-with-q-objects

于 2013-04-18T06:13:24.017 に答える