Reputation: 322
I'm using ModelViewSet and struggling to setup a rendering standard. The documentation doesn't show how to use ModelViewSet with drf renderers. I want the output to be of this format:
Format : {'message': <custom message>, 'data': <output from ModelViewSet>}
Code:
class PostViewSet(viewsets.ModelViewSet):
serializer_class = PostSerializer
queryset = Post.objects.all()
permission_classes = [permissions.IsAuthenticated]
renderer_classes = [GenericAPIRenderer]
# How to Override?
class GenericAPIRenderer(renderers.JSONRenderer):
charset = 'utf-8'
def render(self, data, media_type=None, renderer_context=None):
pass
Upvotes: 0
Views: 426
Reputation: 88499
Something like this works without any issue,
class GenericAPIRenderer(renderers.JSONRenderer):
charset = 'utf-8'
def render(self, data, accepted_media_type=None, renderer_context=None):
updated_data = {'message': "some custom message", 'data': data}
return super().render(updated_data, accepted_media_type, renderer_context)
Upvotes: 1