diff options
| -rw-r--r-- | rest_framework/renderers.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index eb04e81e..7c2b5156 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -547,7 +547,10 @@ class BrowsableAPIRenderer(BaseRenderer): if existing_serializer is not None: serializer = existing_serializer else: - serializer = view.get_serializer(instance=instance, data=data) + if method in ('PUT', 'PATCH'): + serializer = view.get_serializer(instance=instance, data=data) + else: + serializer = view.get_serializer(data=data) if data is not None: serializer.is_valid() form_renderer = self.form_renderer_class() @@ -584,7 +587,10 @@ class BrowsableAPIRenderer(BaseRenderer): # View has a serializer defined and parser class has a # corresponding renderer that can be used to render the data. - serializer = view.get_serializer(instance=instance) + if method in ('PUT', 'PATCH'): + serializer = view.get_serializer(instance=instance) + else: + serializer = view.get_serializer() # Render the raw data content renderer = renderer_class() |
