/ / Como usar o Django paginator em uma finalidade de desempenho de consulta? - django, django-queryset

Como usar o Django paginator em uma finalidade de desempenho de consulta? - django, django-queryset

eu acabei de ler o doc sobre a paginação do Django.

Do exemplo, parece precisar ser usado assim:

  1. Carregue todos os objetos
  2. Crie o objeto Paginator para dividir objetos entre páginas.

Agora, digamos que eu queira usar a paginação com uma consulta muito longa que retorna 100.000 entradas. Eu levo muito tempo para carregar todos os 100000 objetos de uma só vez.

O que eu gostaria de fazer é carregar apenas 10 objetos por página. Existe uma maneira de fazer isso usando o Django paginator, e talvez algumas consultas limit / offset?

Obrigado.

Respostas:

3 para resposta № 1

Não, o Paginator não carrega todos os objetos na memória. Se você passar um queryset para o Paginator, ele usará .count() para obter o número de objetos.