diff options
| author | Tom Christie | 2012-11-14 10:42:08 -0800 | 
|---|---|---|
| committer | Tom Christie | 2012-11-14 10:42:08 -0800 | 
| commit | 0cfb27b40e14274b990f943f79008f2cd6978e26 (patch) | |
| tree | 30a9a64d105c8c60538bcccf081531af651382e5 /rest_framework/mixins.py | |
| parent | a83eb748c1515f9b4c363c9c7de1782d9da4dfe9 (diff) | |
| parent | d9c62c20a7a025d8e94fb881641731b340088f98 (diff) | |
| download | django-rest-framework-0cfb27b40e14274b990f943f79008f2cd6978e26.tar.bz2 | |
Merge pull request #407 from ludwigkraatz/location_header
Location header when Creating a Resource with HyperlinkedIdentityField
Diffstat (limited to 'rest_framework/mixins.py')
| -rw-r--r-- | rest_framework/mixins.py | 11 | 
1 files changed, 9 insertions, 2 deletions
diff --git a/rest_framework/mixins.py b/rest_framework/mixins.py index c3625a88..cd104a7c 100644 --- a/rest_framework/mixins.py +++ b/rest_framework/mixins.py @@ -19,9 +19,16 @@ class CreateModelMixin(object):          if serializer.is_valid():              self.pre_save(serializer.object)              self.object = serializer.save() -            return Response(serializer.data, status=status.HTTP_201_CREATED) +            headers = self.get_success_headers(serializer.data) +            return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)          return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) - +     +    def get_success_headers(self, data): +        if 'url' in data: +            return {'Location': data.get('url')} +        else: +            return {} +          def pre_save(self, obj):          pass  | 
