From a78d2fe0add6987d375a960bf99626757876e6cc Mon Sep 17 00:00:00 2001 From: Jonathan Kim Date: Fri, 5 Jan 2018 17:44:12 +0000 Subject: [PATCH] Add dict_or_attr resolver and set it as default --- graphene/types/resolver.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/graphene/types/resolver.py b/graphene/types/resolver.py index 888aba8a..6b2093e2 100644 --- a/graphene/types/resolver.py +++ b/graphene/types/resolver.py @@ -6,7 +6,13 @@ def dict_resolver(attname, default_value, root, info, **args): return root.get(attname, default_value) -default_resolver = attr_resolver +def dict_or_attr_resolver(attname, default_value, root, info, **args): + if isinstance(root, dict): + return dict_resolver(attname, default_value, root, info, **args) + return attr_resolver(attname, default_value, root, info, **args) + + +default_resolver = dict_or_attr_resolver def set_default_resolver(resolver):