dan*_*nny 22 django django-queryset
我正在尝试做一个django查询,但有几个不同WHERE参数的可能性.所以我想做的事情如下:
querystring = "subcat__id__in=[1,3,5]"
Listing.objects.filter(querystring)
Run Code Online (Sandbox Code Playgroud)
这里列表在我的模型中定义,它包含Many-To-Many字段subcat.但是,这会引发一个ValueError因为过滤器不接受字符串作为其参数.Python中是否有一种方法可以将字符串作为其内容而非字符串进行求值?类似于print语句的东西,它打印字符串的内联值而不是标准输出.
顺便说一下,我不仅仅这样做的原因
querystring = [1,3,5]
Listing.objects.filter(subcat__id__in=querystring)
Run Code Online (Sandbox Code Playgroud)
是我不总是过滤subcat__id,有时它是一个或几个其他参数,我宁愿不必写出一堆由if语句控制的独立查询.任何建议都非常感谢.
Jos*_*ton 59
也许...
filter_dict = {'subcat__id__in': [1,3,5]}
Listing.objects.filter(**filter_dict)
Run Code Online (Sandbox Code Playgroud)
Listing.objects.filter(**{"subcat__id__in": ast.literal_eval("[1,3,5]")})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10178 次 |
| 最近记录: |