Skip to content

Commit 32d4217

Browse files
author
alida
committed
Fix KeyError @ fields to JSON:API schema rendering
1 parent 48827a8 commit 32d4217

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

starlette_jsonapi/openapi.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ def fields2jsonschema(self, fields, *, ordered=False, partial=None):
9696
for field_name, field_obj in fields.items():
9797
observed_field_name = field_obj.data_key or field_name
9898
prop = self.field2property(field_obj)
99+
99100
if observed_field_name == 'id':
100101
properties[observed_field_name] = prop
101102
elif isinstance(field_obj, JSONAPIRelationship):
@@ -111,9 +112,11 @@ def fields2jsonschema(self, fields, *, ordered=False, partial=None):
111112
is_collection(partial) and field_name not in partial
112113
):
113114
if isinstance(field_obj, JSONAPIRelationship):
114-
properties['relationships'].setdefault('required', []).append(observed_field_name)
115+
properties['relationships'].setdefault('required', [])
116+
properties['relationships']['required'].append(observed_field_name)
115117
else:
116-
properties['attributes'].setdefault('required', []).append(observed_field_name)
118+
properties['attributes'].setdefault('required', [])
119+
properties['attributes']['required'].append(observed_field_name)
117120

118121
jsonschema['required'] = ['type']
119122
if 'attributes' in properties and 'required' in properties['attributes']:

0 commit comments

Comments
 (0)