strawberry-graphql/strawberry-django

Relay: Wrap resolve_model_node with django_resolver

Open

#402 opened on Oct 27, 2023

 (3 comments) (0 reactions) (0 assignees)Python (152 forks)auto 404
enhancementhelp wantedquestion

Repository metrics

Stars
 (496 stars)
PR merge metrics
 (PR metrics pending)

Description

Currently: https://github.com/strawberry-graphql/strawberry-graphql-django/blob/8f82b84141c182980b5001b4f0f562c787fe2dda/strawberry_django/relay.py#L395

Only the actual get/first methods are being wrapped for async safety.

There are cases where I need to access data not fetched yet in the custom get_queryset resolver (permissions, system settings, etc) defined up: https://github.com/strawberry-graphql/strawberry-graphql-django/blob/8f82b84141c182980b5001b4f0f562c787fe2dda/strawberry_django/relay.py#L380-L382

I went ahead and just wrapped the whole resolve_model_node resolver with django_resolver and didn't notice any difference.

I found this while trying to customize how a node is being resolved:

    node: relay.Node = relay.node()

Contributor guide