この辞書を持っているとします
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))