diff options
Diffstat (limited to 'rest_framework/renderers.py')
| -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() | 
