【发布时间】:2011-05-16 17:40:43
【问题描述】:
我正在尝试进行 django 查询,但可能有几个不同的 WHERE 参数。所以我正在考虑做类似的事情:
querystring = "subcat__id__in=[1,3,5]"
Listing.objects.filter(querystring)
这里的清单是在我的模型中定义的,它包含多对多字段subcat。但是,这会引发ValueError,因为过滤器不接受字符串作为其参数。 Python中有没有办法将字符串评估为它的内容而不是字符串?类似于 print 语句,它内联打印字符串的值而不是标准输出。
顺便说一下,我不只是这样做的原因
querystring = [1,3,5]
Listing.objects.filter(subcat__id__in=querystring)
是我并不总是过滤subcat__id,有时它是一个或几个其他参数,我宁愿不必写出一堆由 if 语句控制的单独查询。非常感谢任何建议。
【问题讨论】: