diff options
| author | Tom Christie | 2014-12-18 11:21:25 +0000 |
|---|---|---|
| committer | Tom Christie | 2014-12-18 11:21:25 +0000 |
| commit | c8d88c8c8a594e3b66547a34462db4766292ea9e (patch) | |
| tree | 09d1e53c9c019501b85ff8892dca4177c95a6e0b /rest_framework/renderers.py | |
| parent | 47fe6977077ae33dfe2f8b6d04d81083b9b9f4d7 (diff) | |
| parent | d8803a35bd2dc8cbf4c892f68b48c72f24e83916 (diff) | |
| download | django-rest-framework-c8d88c8c8a594e3b66547a34462db4766292ea9e.tar.bz2 | |
Merge branch 'master' into version-3.1
Diffstat (limited to 'rest_framework/renderers.py')
| -rw-r--r-- | rest_framework/renderers.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index f8d18fc6..c4de30db 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -435,12 +435,12 @@ class BrowsableAPIRenderer(BaseRenderer): # serializer instance, rather than dynamically creating a new one. if request.method == method and serializer is not None: try: - data = request.data + kwargs = {'data': request.data} except ParseError: - data = None + kwargs = {} existing_serializer = serializer else: - data = None + kwargs = {} existing_serializer = None with override_method(view, request, method) as request: @@ -460,11 +460,13 @@ class BrowsableAPIRenderer(BaseRenderer): serializer = existing_serializer else: if method in ('PUT', 'PATCH'): - serializer = view.get_serializer(instance=instance, data=data) + serializer = view.get_serializer(instance=instance, **kwargs) else: - serializer = view.get_serializer(data=data) - if data is not None: - serializer.is_valid() + serializer = view.get_serializer(**kwargs) + + if hasattr(serializer, 'initial_data'): + serializer.is_valid() + form_renderer = self.form_renderer_class() return form_renderer.render( serializer.data, |
