diff options
| author | Tom Christie | 2012-09-04 12:02:05 +0100 |
|---|---|---|
| committer | Tom Christie | 2012-09-04 12:02:05 +0100 |
| commit | 8457c871963264c9f62552f30307e98221a1c25d (patch) | |
| tree | 2048cbfc334aa5fca0d5c8d88fd20e50de667e41 /djangorestframework/mixins.py | |
| parent | 29dfbabaf54d75801b404e253a2d7574fa415564 (diff) | |
| download | django-rest-framework-8457c871963264c9f62552f30307e98221a1c25d.tar.bz2 | |
Bits of cleanup
Diffstat (limited to 'djangorestframework/mixins.py')
| -rw-r--r-- | djangorestframework/mixins.py | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/djangorestframework/mixins.py b/djangorestframework/mixins.py index 2721f59e..7269f298 100644 --- a/djangorestframework/mixins.py +++ b/djangorestframework/mixins.py @@ -2,10 +2,31 @@ from djangorestframework import status from djangorestframework.response import Response +class MetadataMixin(object): + """ + Should be mixed in with any `BaseView`. + """ + def metadata(self, request, *args, **kwargs): + content = { + 'name': self.get_name(), + 'description': self.get_description(), + 'renders': self._rendered_media_types, + 'parses': self._parsed_media_types, + } + # TODO: Add 'fields', from serializer info. + # form = self.get_bound_form() + # if form is not None: + # field_name_types = {} + # for name, field in form.fields.iteritems(): + # field_name_types[name] = field.__class__.__name__ + # content['fields'] = field_name_types + raise Response(content, status=status.HTTP_200_OK) + + class CreateModelMixin(object): """ Create a model instance. - Should be mixed in with any `APIView` + Should be mixed in with any `BaseView`. """ def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.DATA) @@ -47,7 +68,7 @@ class UpdateModelMixin(object): self.object = self.get_object() serializer = self.get_serializer(data=request.DATA, instance=self.object) if serializer.is_valid(): - self.object = serializer.deserialized + self.object = serializer.object self.object.save() return Response(serializer.data) return Response(serializer.error_data, status=status.HTTP_400_BAD_REQUEST) |
