Skip to content

Commit f3adf03

Browse files
committed
permission plugin Meta.required_fields fix
fix when permission plugin doesn't fetch required fields (from Meta.required_fields) because the relationship field wasn't requested
1 parent 902f885 commit f3adf03

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

combojsonapi/permission/permission_plugin.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -379,11 +379,14 @@ def data_layer_get_collection_update_query(
379379
user_requested_columns = qs.fields.get(self_json_api.resource.schema.Meta.type_)
380380
if user_requested_columns:
381381
name_columns = list(set(name_columns) & set(user_requested_columns))
382-
# Убираем relationship поля
383-
name_columns = list(set(name_columns) & set(get_columns_for_query(self_json_api.model)))
382+
383+
# required fields (from Meta.required_fields)
384384
required_columns_names = []
385385
for i_name in name_columns:
386386
required_columns_names.extend(get_required_fields(i_name, self_json_api.model))
387+
388+
# remove relationship fields
389+
name_columns = list(set(name_columns) & set(get_columns_for_query(self_json_api.model)))
387390
name_columns = list(set(name_columns) | set(required_columns_names))
388391

389392
query = query.options(load_only(*name_columns))

0 commit comments

Comments
 (0)