diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index a9885d3e0..e87d16d0d 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -525,7 +525,10 @@ class BrowsableAPIRenderer(BaseRenderer): else: instance = None - if request.method == method: + # If this is valid serializer data, and the form is for the same + # HTTP method as was used in the request then use the existing + # serializer instance, rather than dynamically creating a new one. + if request.method == method and serializer is not None: try: data = request.data except ParseError: