Skip to content

Commit 5ca2874

Browse files
Modify obj_to_dict_strategies for __slots__ handling
Update lambda function to check for attribute existence in __slots__.
1 parent 60ac5b9 commit 5ca2874

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

deepdiff/deephash.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ def _prep_obj(self, obj: Any, parent: str, parents_ids: frozenset = EMPTY_FROZEN
400400
obj_to_dict_strategies.append(lambda o: o.__dict__)
401401

402402
if hasattr(obj, "__slots__"):
403-
obj_to_dict_strategies.append(lambda o: {i: getattr(o, i) for i in o.__slots__})
403+
obj_to_dict_strategies.append(lambda o: {i: getattr(o, i) for i in o.__slots__ if hasattr(o, i)})
404404
else:
405405
import inspect
406406
obj_to_dict_strategies.append(lambda o: dict(inspect.getmembers(o, lambda m: not inspect.isroutine(m))))

0 commit comments

Comments
 (0)