Django 如何使DRF将查询参数传递给操作

Django 如何使DRF将查询参数传递给操作,django,django-rest-framework,django-filter,Django,Django Rest Framework,Django Filter,我正在使用django过滤器在django rest框架中使用过滤。由于视图集上某些@actions的性质,我需要将过滤器参数传递给这些操作。有没有办法将视图集的当前listview的查询参数传递给这些操作?我通过覆盖默认的django rest framework呈现器并更改get\u extra\u actions方法来解决这个问题,以用正确的查询参数反映URL def get_extra_actions(extra_actions_dict, view): query_params

我正在使用django过滤器在django rest框架中使用过滤。由于视图集上某些@actions的性质,我需要将过滤器参数传递给这些操作。有没有办法将视图集的当前listview的查询参数传递给这些操作?

我通过覆盖默认的django rest framework呈现器并更改
get\u extra\u actions
方法来解决这个问题,以用正确的查询参数反映URL

def get_extra_actions(extra_actions_dict, view):
    query_params = view.request.query_params
    for k, v in extra_actions_dict.items():
        extra_actions_dict[k] = f'{v}?{urlencode(query_params, doseq=True)}'
    return extra_actions_dict


class BrowsableAPIRenderer(RestBrowsableAPIRenderer):
    def get_extra_actions(self, view, status_code):
        extra_actions_dict = super(BrowsableAPIRenderer, self).get_extra_actions(view, status_code)
        return get_extra_actions(extra_actions_dict, view)