如何将动态查找从 request.GET 权限传递到 DRF 中进行过滤?

How to pass dynamic lookups from the request.GET right to filter in DRF?

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

这样做 .filter(**request.GET) 我发送给它 (field1=['value1']) 而不是 (field1='value1')

如何使用字符串而不是数组?

您可以使用 .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())[=25 的函数=].