django_twc_toolbox.paginator

Module Contents

Classes

Data

_T

API

django_twc_toolbox.paginator._T

‘TypeVar(…)’

class django_twc_toolbox.paginator.DatePaginator(object_list: django.core.paginator._SupportsPagination[django_twc_toolbox.paginator._T], date_field: str, page_date_range: datetime.timedelta, **kwargs: Any)

Bases: typing.Generic[django_twc_toolbox.paginator._T], django.core.paginator.Paginator[django_twc_toolbox.paginator._T]

Initialization

date_segments() list[tuple[datetime.date, datetime.date]]
page(number: int | str) django_twc_toolbox.paginator.DatePage[django_twc_toolbox.paginator._T]
_get_page_object_list_for_range(start_date: datetime.date, end_date: datetime.date) django.db.models.query.QuerySet[Any] | list[Any]
chronological() bool

Check if the object_list is ordered in chronological order

Chronological

  • oldest to newest

  • e.g. [yesterday, today, tomorrow]

  • yesterday < tomorrow

  • would return True

Reverse chronological

  • newest to oldest

  • e.g. [tomorrow, today, yesterday]

  • tomorrow > yesterday

  • would return False

_get_page(*args: Any, **kwargs: Any) django_twc_toolbox.paginator.DatePage[django_twc_toolbox.paginator._T]
num_pages() int
_check_object_list_is_ordered()

Ensure that the object_list is ordered by date_field

class django_twc_toolbox.paginator.DatePage(object_list: django.core.paginator._SupportsPagination[django_twc_toolbox.paginator._T], number: int, paginator: django_twc_toolbox.paginator.DatePaginator[django_twc_toolbox.paginator._T], start_date: datetime.datetime, end_date: datetime.datetime)

Bases: django.core.paginator.Page[django_twc_toolbox.paginator._T]

min_date() datetime.datetime
max_date() datetime.datetime
date_range() tuple[datetime.datetime, datetime.datetime]