mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-07-14 02:02:20 +03:00
added post_resolver in django connection field
This commit is contained in:
parent
c2e175a94c
commit
1685b36e80
|
@ -17,6 +17,7 @@ class DjangoFilterConnectionField(DjangoConnectionField):
|
||||||
order_by=None,
|
order_by=None,
|
||||||
extra_filter_meta=None,
|
extra_filter_meta=None,
|
||||||
filterset_class=None,
|
filterset_class=None,
|
||||||
|
post_resolver=None,
|
||||||
*args,
|
*args,
|
||||||
**kwargs
|
**kwargs
|
||||||
):
|
):
|
||||||
|
@ -25,6 +26,7 @@ class DjangoFilterConnectionField(DjangoConnectionField):
|
||||||
self._filterset_class = None
|
self._filterset_class = None
|
||||||
self._extra_filter_meta = extra_filter_meta
|
self._extra_filter_meta = extra_filter_meta
|
||||||
self._base_args = None
|
self._base_args = None
|
||||||
|
self._post_resolver = post_resolver
|
||||||
super(DjangoFilterConnectionField, self).__init__(type, *args, **kwargs)
|
super(DjangoFilterConnectionField, self).__init__(type, *args, **kwargs)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -91,6 +93,7 @@ class DjangoFilterConnectionField(DjangoConnectionField):
|
||||||
self.enforce_first_or_last,
|
self.enforce_first_or_last,
|
||||||
self.filterset_class,
|
self.filterset_class,
|
||||||
self.filtering_args,
|
self.filtering_args,
|
||||||
|
self._post_resolver,
|
||||||
)
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -102,6 +105,7 @@ class DjangoFilterConnectionField(DjangoConnectionField):
|
||||||
enforce_first_or_last,
|
enforce_first_or_last,
|
||||||
filterset_class,
|
filterset_class,
|
||||||
filtering_args,
|
filtering_args,
|
||||||
|
post_resolver,
|
||||||
root,
|
root,
|
||||||
info,
|
info,
|
||||||
**args):
|
**args):
|
||||||
|
@ -141,6 +145,9 @@ class DjangoFilterConnectionField(DjangoConnectionField):
|
||||||
for item in rels.items():
|
for item in rels.items():
|
||||||
qs=qs.has(**{item[0]: item[1]})
|
qs=qs.has(**{item[0]: item[1]})
|
||||||
|
|
||||||
|
if post_resolver:
|
||||||
|
qs = post_resolver(qs, info, **args)
|
||||||
|
|
||||||
if order:
|
if order:
|
||||||
qs=qs.order_by(order)
|
qs=qs.order_by(order)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user