我正在尝试执行一个django查询,但可能有几个不同的WHERE
参数。所以我在想做一些类似的事情:
querystring = "subcat__id__in=[1,3,5]"
Listing.objects.filter(querystring)
这里Listing是在我的模型中定义的,它包含Many-To-Many字段subcat
。但是,这会引发ValueError
,因为filter不接受字符串作为其参数。在Python中有没有一种方法可以让一个字符串只作为它的内容而不是字符串来计算?类似于print语句的东西,它将字符串的值内联打印,而不是打印到标准输出。
顺便说一句,我之所以不
querystring = [1,3,5]
Listing.objects.filter(subcat__id__in=querystring)
我并不总是过滤subcat__id
,有时它是一个或多个其他参数,我不希望写出一堆由if语句控制的单独查询。任何建议都非常感谢。
3条答案
按热度按时间lymnna711#
也许...
bqujaahr2#
uplii1fm3#
你可以这样做一个OR查询: