diff --git a/graphene/core/fields.py b/graphene/core/fields.py index 88b2b2da..9f25cdbb 100644 --- a/graphene/core/fields.py +++ b/graphene/core/fields.py @@ -55,12 +55,7 @@ class Field(object): if resolve_fn: return resolve_fn(instance, args, info) else: - if isinstance(instance, BaseObjectType): - return instance.get_field(self.field_name) - if hasattr(instance, self.field_name): - return getattr(instance, self.field_name) - elif hasattr(instance, self.name): - return getattr(instance, self.name) + return getattr(instance, self.field_name, None) @memoize def get_resolve_fn(self): diff --git a/graphene/core/types.py b/graphene/core/types.py index 0912ff98..00f19640 100644 --- a/graphene/core/types.py +++ b/graphene/core/types.py @@ -120,7 +120,7 @@ class BaseObjectType(object): if not kwargs: return None elif type(instance) is cls: - instance = instance.instance + return instance return super(BaseObjectType, cls).__new__(cls) @@ -137,9 +137,6 @@ class BaseObjectType(object): if self.instance: return getattr(self.instance, name) - def get_field(self, field): - return getattr(self.instance, field, None) - @classmethod def resolve_objecttype(cls, schema, instance, *_): return instance