1234567891011121314151617181920212223242526272829303132333435 |
- from django.core.paginator import AsyncPage, AsyncPaginator, Page, Paginator
- class ValidAdjacentNumsPage(Page):
- def next_page_number(self):
- if not self.has_next():
- return None
- return super().next_page_number()
- def previous_page_number(self):
- if not self.has_previous():
- return None
- return super().previous_page_number()
- class ValidAdjacentNumsPaginator(Paginator):
- def _get_page(self, *args, **kwargs):
- return ValidAdjacentNumsPage(*args, **kwargs)
- class AsyncValidAdjacentNumsPage(AsyncPage):
- async def anext_page_number(self):
- if not await self.ahas_next():
- return None
- return await super().anext_page_number()
- async def aprevious_page_number(self):
- if not await self.ahas_previous():
- return None
- return await super().aprevious_page_number()
- class AsyncValidAdjacentNumsPaginator(AsyncPaginator):
- def _get_page(self, *args, **kwargs):
- return AsyncValidAdjacentNumsPage(*args, **kwargs)
|