@@ -99,6 +99,26 @@ def paginate_queryset(self, items, pagination: Input, request, **params):
9999 }
100100
101101
102+ class CustomItemsLimitOffsetPagination (LimitOffsetPagination ):
103+ """Minimal LimitOffsetPagination with custom items_attribute."""
104+
105+ items_attribute = "results"
106+
107+ class Output (Schema ):
108+ results : List [int ]
109+ count : int
110+
111+
112+ class CustomItemsPageNumberPagination (PageNumberPagination ):
113+ """Minimal PageNumberPagination with custom items_attribute."""
114+
115+ items_attribute = "results"
116+
117+ class Output (Schema ):
118+ results : List [int ]
119+ count : int
120+
121+
102122@api .get ("/items_1" , response = List [int ])
103123@paginate # WITHOUT brackets (should use default pagination)
104124def items_1 (request , ** kwargs ):
@@ -160,6 +180,18 @@ def items_10(request):
160180 return ITEMS
161181
162182
183+ @api .get ("/items_11" , response = List [int ])
184+ @paginate (CustomItemsLimitOffsetPagination )
185+ def items_11 (request ):
186+ return list (range (100 ))
187+
188+
189+ @api .get ("/items_12" , response = List [int ])
190+ @paginate (CustomItemsPageNumberPagination )
191+ def items_12 (request ):
192+ return list (range (100 ))
193+
194+
163195client = TestClient (api )
164196
165197
@@ -563,6 +595,16 @@ def items_11(request, **kwargs):
563595 }
564596
565597
598+ def test_case11 ():
599+ response = client .get ("/items_11" ).json ()
600+ assert response == {"results" : list (range (100 )), "count" : 100 }
601+
602+
603+ def test_case12 ():
604+ response = client .get ("/items_12" ).json ()
605+ assert response == {"results" : list (range (100 )), "count" : 100 }
606+
607+
566608def test_config_error_None ():
567609 with pytest .raises (ConfigError ):
568610
0 commit comments