在动态扩展DRF的文档中,他们描述了通过视图集添加查询参数的可能性。(instructions) 这些添加的查询参数就像在url请求中传递它们一样,从而触发通过扩展可用的动态操作。 但我不能让这个工作。似乎不可能使串行器或路由器识别请求实例的更改。 任何有关如何了解其工作原理或其他方法的建议都将非常感激。
class EventViewSet(DynamicModelViewSet):
# …
def list(self, request, *args, **kwargs):
# sideload location by default
request.query_params.add('include[]', 'location.')
# filter for status=current by default
status = request.query_params.get('filter{status}')
if not status:
request.query_params.add('filter{status}','current')
return super(EventViewSet, self).list(request, *args, **kwargs)