Ответ 1
Если вы хотите увидеть, где происходят, импортируйте django.db.connection
и проверьте queries
>>> from django.db import connection
>>> from django.core.paginator import Paginator
>>> queryset = Entry.objects.all()
Позволяет создать paginator и посмотреть, не возникли ли какие-либо запросы:
>>> paginator = Paginator(queryset, 10)
>>> print connection.queries
[]
Пока нет.
>>> page = paginator.page(4)
>>> page
<Page 4 of 788>
>>> print connection.queries
[{'time': '0.014', 'sql': 'SELECT COUNT(*) FROM `entry`'}]
Создание страницы создало один запрос, чтобы подсчитать количество записей в наборе запросов. Записи еще не получены.
Назначьте объекты страницы переменной "объекты":
>>> objects = page.object_list
>>> print connection.queries
[{'time': '0.014', 'sql': 'SELECT COUNT(*) FROM `entry`'}]
Это все еще не вызвало внесение записей.
Сгенерируйте HttpResponse
из списка объектов
>>> response = HttpResponse(page.object_list)
>>> print connection.queries
[{'time': '0.014', 'sql': 'SELECT COUNT(*) FROM `entry`'}, {'time': '0.011', 'sql': 'SELECT `entry`.`id`, <snip> FROM `entry` LIMIT 10 OFFSET 30'}]
Наконец, записи были извлечены.