graphql-python / graphql-python/graphene
call super() from resolve_<field_name> to get default resolver
- 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