diff --git a/graphql/type/definition.py b/graphql/type/definition.py index b4e769ca..30cc3bd4 100644 --- a/graphql/type/definition.py +++ b/graphql/type/definition.py @@ -4,6 +4,7 @@ from ..language import ast from ..pyutils.cached_property import cached_property from ..pyutils.ordereddict import OrderedDict +from ..pyutils.compat import Enum as PyEnum from ..utils.assert_valid_name import assert_valid_name from ..utils.undefined import Undefined @@ -516,9 +517,11 @@ def get_value(self, name): def serialize(self, value): # type: (str) -> Optional[str] + if isinstance(value, PyEnum): + # We handle PyEnum values + value = value.value if isinstance(value, collections.Hashable): enum_value = self._value_lookup.get(value) - if enum_value: return enum_value.name