graphql-python / graphql-python/graphene

call super() from resolve_<field_name> to get default resolver

Open
#1,283 1 comment 10 reactions 0 assignees View on GitHub
✨ enhancement
Dominant language
Python
Stars
8.2k
Forks
818
PR merge metrics
No merged PRs in 30d

Description

Here is the problem, I need to create a custom resolve method but the path
for the logic to might not always require the logic added in the custom resolve method thus
I would like to use the default resolver for the field.

But I am frustrated, in the MRO hierarchy there would be no class with that exact resolve name
because the resolve method is created computationally with a call to type() in some Meta or _meta* method
like it is done in https://github.com/graphql-python/graphene-django/

Ideally I could call super().resolve(info, **args) and graphene would know how to resolve the function call

I have no idea how else to call the auto generated resolver in graphene_django, unless it would be the same name as the resolver function from which im calling super which I guess makes sense, but I believe this to be
a graphene error because the ModelObjectType inherits from ObjectType.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the generated resolver path in graphene_django, including the type() construction and the ObjectType/ModelObjectType inheritance mentioned in the issue. Determine how a custom resolve_ could access the default resolver, and define completion as a documented, working way to invoke that default behavior without duplicating it.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.