From afcba919319f1d51042b403d6cef1b636cc55c08 Mon Sep 17 00:00:00 2001 From: Arthur Date: Fri, 14 Mar 2025 13:03:24 -0700 Subject: [PATCH] 16244 fix order_by pagination --- netbox/netbox/graphql/schema.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/netbox/netbox/graphql/schema.py b/netbox/netbox/graphql/schema.py index a7609c9d2..2a49739d3 100644 --- a/netbox/netbox/graphql/schema.py +++ b/netbox/netbox/graphql/schema.py @@ -1,7 +1,9 @@ import strawberry from django.conf import settings +# from django.db.models.manager import BaseManager +# from django.db.models.query import QuerySet from strawberry_django.optimizer import DjangoOptimizerExtension -from strawberry.extensions import MaxAliasesLimiter +from strawberry.extensions import MaxAliasesLimiter # , SchemaExtension from strawberry.schema.config import StrawberryConfig from circuits.graphql.schema import CircuitsQuery @@ -12,11 +14,28 @@ from ipam.graphql.schema import IPAMQuery from netbox.registry import registry from tenancy.graphql.schema import TenancyQuery from users.graphql.schema import UsersQuery +# from utilities.query import reapply_model_ordering from virtualization.graphql.schema import VirtualizationQuery from vpn.graphql.schema import VPNQuery from wireless.graphql.schema import WirelessQuery +""" +class ModelOrderingExtension(SchemaExtension): + + def resolve(self, next_, root, info, *args, **kwargs): + ret = next_(root, info, *args, **kwargs) + + if isinstance(ret, BaseManager): + ret = ret.all() + + if isinstance(ret, QuerySet) and ret._result_cache is None: # type: ignore + ret = reapply_model_ordering(ret) + + return ret +""" + + @strawberry.type class Query( UsersQuery,