/ / Comment utiliser Django paginator dans un but de performance de requête? - django, django-queryset

Comment utiliser Django paginator dans un but de performance de requête? - django, django-queryset

j'ai juste lu Le document à propos de la pagination Django.

De l'exemple, il semble devoir être utilisé comme ceci:

  1. Charger tous les objets
  2. Créez un objet Paginator pour fractionner des objets sur plusieurs pages.

Maintenant, disons que je ne veux pas utiliser la pagination avec une très longue requête qui renvoie 100 000 entrées. Il faut beaucoup de temps pour charger tous les 100 000 objets à la fois.

Ce que je voudrais faire est de ne charger que 10 objets par page. Y a-t-il un moyen de le faire en utilisant Django paginator, et peut-être des requêtes avec limite / décalage?

Merci.

Réponses:

3 pour la réponse № 1

Non, Paginator ne charge pas tous les objets en mémoire. Si vous transmettez un ensemble de requêtes à Paginator, il utilise .count() pour obtenir le nombre d'objets.