mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-05 04:50:12 +03:00
add 'metadata' mixin to handle options requests re tomchristie/django-rest-framework#3157
This commit is contained in:
parent
6b08e97b6a
commit
705af66015
|
@ -89,3 +89,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)
|
||||||
|
|
|
@ -146,6 +146,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()`,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user