/ / Jak używać paginatora Django w celu wykonania zapytania? - django, django-queryset

Jak używać paginatora Django w celu wykonania zapytania? - django, django-queryset

Właśnie przeczytałem doc o paginacji Django.

Z przykładu wydaje się, że trzeba użyć w ten sposób:

  1. Załaduj wszystkie obiekty
  2. Utwórz obiekt Paginator, aby podzielić obiekty na strony.

Teraz powiedzmy, że użyję paginacji z bardzo długim zapytaniem, które zwraca 100000 wpisów. Zajmuje bardzo dużo czasu, aby załadować wszystkie 100000 obiektów naraz.

Co chcę zrobić, to załadować tylko 10 obiektów na stronę.Czy jest sposób to zrobić za pomocą paginatora Django, a może niektóre kwerendy limit / offset?

Dzięki.

Odpowiedzi:

3 dla odpowiedzi № 1

Nie, Paginator nie ładuje wszystkich obiektów do pamięci, jeśli przekażesz zestaw zapytań do Paginatora, to użyje go .count() aby uzyskać liczbę obiektów.