使用动态字段对q对象进行django过滤

时间:2017-11-22 14:08:48

标签: django django-models

我需要准备带动态字段的过滤器.. 我不知道字段名称所以我需要动态地给它。 这是我到目前为止所尝试的,

gen_query = reduce(operator.or_, (Q(eval('%s=i' % (field, i))) for i in request.query_params.get(field).split(',')))

但它会引发语法错误!

我正在使用,eval(field_name as string)我仍然收到错误..

如何实现这个目标?

我想用带动态字段的q对象进行django过滤

2 个答案:

答案 0 :(得分:2)

您可以使用参数创建dict并在Q构造函数中解压缩:

driver.switch_to.frame("signupFrame")
driver.find_element_by_id("close_signup").click()

答案 1 :(得分:0)

如果需要字符串格式化,可以使用Q('{}={}'.format(field, i))吗?