diff --git a/rest_framework/mixins.py b/rest_framework/mixins.py index 7fa8947cb..93b5bd684 100644 --- a/rest_framework/mixins.py +++ b/rest_framework/mixins.py @@ -14,7 +14,7 @@ class CreateModelMixin: Create a model instance. """ def create(self, request, *args, **kwargs): - serializer = self.get_serializer(data=request.data) + serializer = self.get_serializer(data=self.get_create_data(request)) serializer.is_valid(raise_exception=True) self.perform_create(serializer) headers = self.get_success_headers(serializer.data) @@ -23,6 +23,9 @@ class CreateModelMixin: def perform_create(self, serializer): serializer.save() + def get_create_data(self, request): + return request.data + def get_success_headers(self, data): try: return {'Location': str(data[api_settings.URL_FIELD_NAME])}