Where To Change The Form Of Json Response In Django Rest Framework?
Lets say I have a model: class MyModel(models.Model): name = models.CharField(max_length=100) description= models.TextField() ... Then I created ModelViewSet with Hyp
Solution 1:
The first response appears to be a paginated response, which is determined by the pagination serializer. You can create a custom pagination serializer that will use a custom format. You are looking for something similar to the following:
class MetadataSerialier(pagination.BasePaginationSerializer):
count = serializers.Field(source='paginator.count')
next = NextPageField(source='*')
previous = PreviousPageField(source='*')
class CustomPaginationSerializer(pagination.BasePaginationSerializer):
metadata = MetadataSerializer(source='*')
This should give you an output similar to the following:
{"metadata":{"count":2,"next":null,"previous":null},"results":[{"name":"somename","description":"desc"},{"name":"someothername","description":"asdasd"}]}
The pagination serializer can be set globally through your settings, as described in the documentation.
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_SERIALIZER_CLASS': {
'full.path.to.CustomPaginationSerializer',
}
}
Post a Comment for "Where To Change The Form Of Json Response In Django Rest Framework?"