Skip to content

Commit 6980aeb

Browse files
authored
Merge pull request #28 from eadwinCode/doc_update
Pagination Doc update
2 parents 438ab99 + 9bdaa20 commit 6980aeb

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

docs/tutorial/pagination.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,17 @@
99
- func_or_pgn_class: Defines a route function or a Pagination Class. default: `ninja_extra.pagination.LimitOffsetPagination`
1010
- paginator_params: extra parameters for initialising Pagination Class
1111

12+
!!! info
13+
When using `ninja_extra.pagination.LimitOffsetPagination`, you should use `NinjaPaginationResponseSchema` as pagination response schema wrapper
14+
eg:
15+
```python
16+
17+
@route.get('', response=NinjaPaginationResponseSchema[UserSchema])
18+
@paginate()
19+
def list_items(self):
20+
return item_model.objects.all()
21+
```
22+
1223
### Changing Default Pagination Class
1324
To change the default pagination class, you need to add a `NINJA_EXTRA` variable in `settings.py` with a key `PAGINATION_CLASS` and value defining path to pagination class
1425
```python

ninja_extra/main.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from importlib import import_module
2-
from typing import Callable, Dict, List, Optional, Sequence, Tuple, Type, Union
2+
from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Type, Union
33

44
from django.core.exceptions import ImproperlyConfigured
55
from django.http import HttpRequest, HttpResponse
@@ -9,7 +9,6 @@
99
from ninja.constants import NOT_SET
1010
from ninja.parser import Parser
1111
from ninja.renderers import BaseRenderer
12-
from ninja.types import TCallable
1312

1413
from ninja_extra import exceptions, router
1514
from ninja_extra.compatible import NOT_SET_TYPE
@@ -30,26 +29,26 @@ def __init__(
3029
description: str = "",
3130
openapi_url: Optional[str] = "/openapi.json",
3231
docs_url: Optional[str] = "/docs",
33-
docs_decorator: Optional[Callable[[TCallable], TCallable]] = None,
3432
urls_namespace: Optional[str] = None,
3533
csrf: bool = False,
3634
auth: Union[Sequence[Callable], Callable, NOT_SET_TYPE] = NOT_SET,
3735
renderer: Optional[BaseRenderer] = None,
3836
parser: Optional[Parser] = None,
3937
app_name: str = "ninja",
38+
**kwargs: Any,
4039
) -> None:
4140
super(NinjaExtraAPI, self).__init__(
4241
title=title,
4342
version=version,
4443
description=description,
4544
openapi_url=openapi_url,
4645
docs_url=docs_url,
47-
docs_decorator=docs_decorator,
4846
urls_namespace=urls_namespace,
4947
csrf=csrf,
5048
auth=auth,
5149
renderer=renderer,
5250
parser=parser,
51+
**kwargs,
5352
)
5453
self.app_name = app_name
5554
self.exception_handler(exceptions.APIException)(self.api_exception_handler)

0 commit comments

Comments
 (0)