diff --git a/netbox/dcim/api/views.py b/netbox/dcim/api/views.py index a8feb70f0..95dc72136 100644 --- a/netbox/dcim/api/views.py +++ b/netbox/dcim/api/views.py @@ -21,7 +21,6 @@ from ipam.models import Prefix, VLAN from netbox.api.authentication import IsAuthenticatedOrLoginNotRequired from netbox.api.exceptions import ServiceUnavailable from netbox.api.metadata import ContentTypeMetadata -from netbox.api.pagination import StripCountAnnotationsPaginator, TwoModePagination from netbox.api.viewsets import NetBoxModelViewSet from netbox.config import get_config from netbox.constants import NESTED_SERIALIZER_PREFIX @@ -398,7 +397,8 @@ class DeviceViewSet(ConfigContextQuerySetMixin, NetBoxModelViewSet): 'virtual_chassis__master', 'primary_ip4__nat_outside', 'primary_ip6__nat_outside', 'tags', ) filterset_class = filtersets.DeviceFilterSet - pagination_class = partial(TwoModePagination, StripCountAnnotationsPaginator) + # TODO: Solve for #9374 + # pagination_class = StripCountAnnotationsPaginator def get_serializer_class(self): """ diff --git a/netbox/netbox/api/pagination.py b/netbox/netbox/api/pagination.py index e934da284..cd443a725 100644 --- a/netbox/netbox/api/pagination.py +++ b/netbox/netbox/api/pagination.py @@ -76,19 +76,6 @@ class OptionalLimitOffsetPagination(LimitOffsetPagination): return super().get_previous_link() -class StripCountAnnotationsPaginator(OptionalLimitOffsetPagination): - """ - Strips the annotations on the queryset before getting the count - to optimize pagination of complex queries. - """ - def get_queryset_count(self, queryset): - # Clone the queryset to avoid messing up the actual query - cloned_queryset = queryset.all() - cloned_queryset.query.annotations.clear() - - return cloned_queryset.count() - - class CursorPaginationWithNoLimit(CursorPagination): """ Allow setting limit=0 to disable pagination for a request. The limit can only be disabled if