Moh*_*med 1 django django-models
我需要准备带有动态字段的过滤器。我不知道字段名称,所以我需要动态给它。这是我到目前为止尝试过的
gen_query = reduce(operator.or_, (Q(eval('%s=i' % (field, i))) for i in request.query_params.get(field).split(',')))
Run Code Online (Sandbox Code Playgroud)
但这会引发语法错误!
我正在使用,eval(field_name as string)但仍然出现错误。
如何做到这一点?
我想用带有动态字段的q个对象进行django过滤
您可以使用参数创建字典并将其解压缩到Q构造函数中:
gen_query = reduce(operator.or_, (Q(**{field: i}) for i in request.query_params.get(field).split(',')))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
405 次 |
| 最近记录: |