strawberry-graphql/strawberry-django

Relay: Wrap resolve_model_node with django_resolver

Open

#402 opened on Oct 27, 2023

View on GitHub
 (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