DRF文档显示了如何将渲染器连接到APIView,而不显示如何将其用于ViewSet中的特定操作。鉴于:
class XViewSet(ViewSet):
serializer_class = XSerializer
@action(detail=True, methods=['get'])
def my_action(self, request, pk=None):
..
如何为my_action
设置特定的渲染器,而不会影响视图集中的其他/默认操作?
我当然可以为该操作创建一个APIView,但这会使urls.py更加混乱
答案 0 :(得分:1)
据我所知,action
接受任何可以作为类属性的参数:
class XViewSet(ViewSet):
serializer_class = XSerializer
@action(detail=True, methods=['get'], renderer_classes=[yourrenderer])
def my_action(self, request, pk=None):
..