From cbfa4444544799ba39a0ca89e8bd713a67024bac Mon Sep 17 00:00:00 2001 From: Ryan P Kilby Date: Mon, 16 Oct 2017 03:35:53 -0400 Subject: [PATCH] Fix HiddenField stripping in BrowsableAPIRenderer (#5499) --- rest_framework/renderers.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 3bc520f53..9d187001f 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -557,9 +557,12 @@ class BrowsableAPIRenderer(BaseRenderer): accepted = self.accepted_media_type context = self.renderer_context.copy() context['indent'] = 4 - data = {k: v for (k, v) in serializer.data.items() - if not isinstance(serializer.fields[k], - serializers.HiddenField)} + + # strip HiddenField from output + data = serializer.data.copy() + for name, field in serializer.fields.items(): + if isinstance(field, serializers.HiddenField): + data.pop(name, None) content = renderer.render(data, accepted, context) else: content = None