如何从request.GET传递动态查询以进行过滤?

时间:2020-07-28 22:19:20

标签: django django-rest-framework django-filter

request.GET中发送这样的查询 /?field1 = value1 ,我有{'field1': ['value1']}

因此,我.filter(**request.GET)而不是(field1=['value1'])发送给它(field1='value1')

我如何接受字符串而不是数组?

1 个答案:

答案 0 :(得分:2)

您可以利用.dict() [Django-doc]将其转换为字典。如果一个键包含多个值,例如?field1=value1&field1=value2,它将采用 last 值。

例如:

>>> QueryDict('field1=value1').dict()
{'field1': 'value1'}
>>> QueryDict('field1=value1&field1=value2').dict()
{'field1': 'value2'}

例如,您可以使用some_func(**request.GET.dict())将其传递给函数。

相关问题