graphql-python / graphql-python/graphene-mongo

No ability to get QuerySet in relay.Connection when use custom resolver in graphene.ObjectType

Ouverte
#249 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
288
Forks
111
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

When I want to add some custom resolver (some complicated filter for example) for graphene.ObjectType I will lose opportunity to get filtered count number in Connection and etc. Example:
```
class Connection(relay.Connection):
"""Connection class"""

class Meta:
"""Meta class"""
abstract = True

total_count = graphene.Int()

def resolve_total_count(root, info, **kwargs):
"""Counts total number of documents with filters"""
return root.iterable.count()

class SomeModel(MongoengineObjectType):
class Meta:
connection_class = Connection


class SomeQueryRely(graphene.ObjectType):
q = MongoengineConnectionField(SomeModel, filter_one = graphene.String(name="filter_one"), filter_two =graphene.String(name="filter_two"))
def resolve_q(self, info: GraphQLResolveInfo, **kwargs):
query: QuerySet = info.context.queryset
QuerySet.filter(Q(filter_one=kwargs["filter_one"]) | Q(filter_two=kwargs["filter_two"]))
return query
```

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par suivre le resolver personnalisé à travers MongoengineConnectionField et relay.Connection, en vous concentrant sur la manière dont le QuerySet du resolver atteint la connexion. Reproduisez l’exemple avec filter_one et filter_two, puis vérifiez que le QuerySet filtré reste disponible pour total_count et les champs de connexion associés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
api, database
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.