我想传递一个或多个GET
变量来过滤查询集。我尝试了以下代码来创建变量的字典并应用过滤器,但是使用两个变量进行测试似乎只能对最终的字典变量进行过滤。
for k,v in mydict.items():
qs = mymodel.objects.filter(**{"%s__contains" % k: v})
有人能指出我要去哪里的正确方向吗?
答案 0 :(得分:2)
您将在每个迭代中从头开始创建一个新的查询集,而不是链接它们。尝试将代码更改为:
qs = mymodel.objects.all()
for k, v in mydict.items():
qs = qs.filter(**{"%s__contains" % k: v})