mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-03 05:04:31 +03:00
Prevent re-running deserialization. Closes #1975.
This commit is contained in:
parent
bb21216a7c
commit
041435f4ee
|
@ -523,8 +523,10 @@ class BrowsableAPIRenderer(BaseRenderer):
|
||||||
data = request.data
|
data = request.data
|
||||||
except ParseError:
|
except ParseError:
|
||||||
data = None
|
data = None
|
||||||
|
existing_serializer = serializer
|
||||||
else:
|
else:
|
||||||
data = None
|
data = None
|
||||||
|
existing_serializer = None
|
||||||
|
|
||||||
with override_method(view, request, method) as request:
|
with override_method(view, request, method) as request:
|
||||||
if not self.show_form_for_method(view, method, request, instance):
|
if not self.show_form_for_method(view, method, request, instance):
|
||||||
|
@ -539,6 +541,9 @@ class BrowsableAPIRenderer(BaseRenderer):
|
||||||
):
|
):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if existing_serializer is not None:
|
||||||
|
serializer = existing_serializer
|
||||||
|
else:
|
||||||
serializer = view.get_serializer(instance=instance, data=data)
|
serializer = view.get_serializer(instance=instance, data=data)
|
||||||
if data is not None:
|
if data is not None:
|
||||||
serializer.is_valid()
|
serializer.is_valid()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user