This commit is contained in:
catskul 2017-04-29 04:39:57 +00:00 committed by GitHub
commit 8e27d4be10
2 changed files with 12 additions and 0 deletions

View File

@ -95,3 +95,14 @@ class DestroyModelMixin(object):
def perform_destroy(self, instance): def perform_destroy(self, instance):
instance.delete() instance.delete()
class MetadataModelMixin(object):
def metadata(self, request, *args, **kwargs):
"""
Handler method for HTTP 'OPTIONS' request.
"""
if self.metadata_class is None:
return self.http_method_not_allowed(request, *args, **kwargs)
data = self.metadata_class().determine_metadata(request, self)
return Response(data, status=status.HTTP_200_OK)

View File

@ -148,6 +148,7 @@ class ModelViewSet(mixins.CreateModelMixin,
mixins.UpdateModelMixin, mixins.UpdateModelMixin,
mixins.DestroyModelMixin, mixins.DestroyModelMixin,
mixins.ListModelMixin, mixins.ListModelMixin,
mixins.MetadataModelMixin,
GenericViewSet): GenericViewSet):
""" """
A viewset that provides default `create()`, `retrieve()`, `update()`, A viewset that provides default `create()`, `retrieve()`, `update()`,