Skip to content

Commit 777e9da

Browse files
Handle case where SimpleLazyObject being treated as an Iterable (#255)
* Handle case where SimpleLazyObject being treated as an Iterable * Update django_elasticsearch_dsl/fields.py Co-Authored-By: Safwan Rahman <safwan.rahman15@gmail.com> * Update django_elasticsearch_dsl/fields.py Co-Authored-By: Safwan Rahman <safwan.rahman15@gmail.com> Co-authored-by: Safwan Rahman <safwan.rahman15@gmail.com>
1 parent 3525e65 commit 777e9da

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

django_elasticsearch_dsl/fields.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,12 @@ def get_value_from_instance(self, instance, field_value_to_ignore=None):
124124

125125
if objs is None:
126126
return {}
127-
if isinstance(objs, collections.Iterable):
127+
try:
128+
is_iterable = bool(iter(objs))
129+
except TypeError:
130+
is_iterable = False
131+
132+
if is_iterable:
128133
return [
129134
self._get_inner_field_data(obj, field_value_to_ignore)
130135
for obj in objs if obj != field_value_to_ignore

0 commit comments

Comments
 (0)