Commit 084354d3 by Tom Christie

Only pass instance to form for PUT and PATCH. Closes #2073.

parent 5e74f02d
...@@ -547,7 +547,10 @@ class BrowsableAPIRenderer(BaseRenderer): ...@@ -547,7 +547,10 @@ class BrowsableAPIRenderer(BaseRenderer):
if existing_serializer is not None: if existing_serializer is not None:
serializer = existing_serializer serializer = existing_serializer
else: else:
if method in ('PUT', 'PATCH'):
serializer = view.get_serializer(instance=instance, data=data) serializer = view.get_serializer(instance=instance, data=data)
else:
serializer = view.get_serializer(data=data)
if data is not None: if data is not None:
serializer.is_valid() serializer.is_valid()
form_renderer = self.form_renderer_class() form_renderer = self.form_renderer_class()
...@@ -584,7 +587,10 @@ class BrowsableAPIRenderer(BaseRenderer): ...@@ -584,7 +587,10 @@ class BrowsableAPIRenderer(BaseRenderer):
# View has a serializer defined and parser class has a # View has a serializer defined and parser class has a
# corresponding renderer that can be used to render the data. # corresponding renderer that can be used to render the data.
if method in ('PUT', 'PATCH'):
serializer = view.get_serializer(instance=instance) serializer = view.get_serializer(instance=instance)
else:
serializer = view.get_serializer()
# Render the raw data content # Render the raw data content
renderer = renderer_class() renderer = renderer_class()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment