Skip to content

Commit

Permalink
fix(smart_field): don't try to compute smart fields on null relations (
Browse files Browse the repository at this point in the history
  • Loading branch information
jbarreau committed Aug 17, 2023
1 parent e133181 commit 33673a1
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions django_forest/resources/utils/smart_field.py
Expand Up @@ -66,15 +66,19 @@ def _handle_smart_field_on_relations(self, queryset, base_collection, params, ma
collection_name: [params.get("fields", {}).get(relation_field["field"])]
}
}
self._handle_smart_field_for_relation(queryset, relation_field, collection_name, transformed_params, many)

if many:
for item in queryset:
def _handle_smart_field_for_relation(self, queryset, relation_field, collection_name, params, many):
if many:
for item in queryset:
if hasattr(item, relation_field["field"]):
self.handle_smart_fields(
getattr(item, relation_field["field"]), collection_name, transformed_params, False, False
getattr(item, relation_field["field"]), collection_name, params, False, False
)
else:
else:
if hasattr(queryset, relation_field["field"]):
self.handle_smart_fields(
getattr(queryset, relation_field["field"]), collection_name, transformed_params, False, False
getattr(queryset, relation_field["field"]), collection_name, params, False, False
)

def __get_relations_for_smart_fields(self, base_collection, params):
Expand Down

0 comments on commit 33673a1

Please sign in to comment.