Skip to content

SerializerAPI - Mixin for using different Serializer for browsable API #60

Open
@cancan101

Description

@cancan101

Along the lines of DetailSerializerMixin:

class SerializerAPI(object):
    """
    Mixin for using different Serializer for browsable API.
    """
    def get_serializer_class(self, *args, **kwargs):
        parent = super(SerializerAPI, self).get_serializer_class(*args, **kwargs)
        # We use the API serializer when not HEAD/OPTIONS and the render is set to API
        if (self.request.method not in ['HEAD', 'OPTIONS']
            and hasattr(self.request, 'accepted_renderer')
                and self.request.accepted_renderer.format == 'api'):
            return self.serializer_class_api
        else:
            return parent

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions