使用多个变量过滤Django查询集



我想传递一个或多个GET变量来过滤查询集。我尝试了以下代码来创建一个变量字典并应用过滤器,但用两个变量进行测试时,似乎只过滤最后的字典变量。

for k,v in mydict.items():
qs = mymodel.objects.filter(**{"%s__contains" % k: v})

有人能给我指出正确的方向吗?我哪里错了?

您在每次迭代中从头开始创建一个新的查询集,而不是链接它们。尝试将代码更改为:

qs = mymodel.objects.all()
for k, v in mydict.items():
qs = qs.filter(**{"%s__contains" % k: v})

相关内容

  • 没有找到相关文章

最新更新