From de218daa28b81792fedddc20bfbe9beb657e0e56 Mon Sep 17 00:00:00 2001 From: Carlton Gibson Date: Tue, 26 Mar 2019 13:56:10 +0100 Subject: [PATCH] Use copy() of properties dict when filtering read/write-only fields. --- rest_framework/schemas/inspectors.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rest_framework/schemas/inspectors.py b/rest_framework/schemas/inspectors.py index 1bf418d72..265172b01 100644 --- a/rest_framework/schemas/inspectors.py +++ b/rest_framework/schemas/inspectors.py @@ -715,7 +715,7 @@ class OpenAPIAutoSchema(ViewInspector): if method == 'PATCH': del content['required'] # No read_only fields for request. - for name, schema in content['properties'].items(): + for name, schema in content['properties'].copy().items(): if 'readOnly' in schema: del content['properties']['name'] @@ -740,7 +740,7 @@ class OpenAPIAutoSchema(ViewInspector): if isinstance(serializer, serializers.Serializer): content = self._map_serializer(serializer) # No write_only fields for response. - for name, schema in content['properties'].items(): + for name, schema in content['properties'].copy().items(): if 'writeOnly' in schema: del content['properties']['name']