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