Разве вызов Entry.object.all() не разрушает точку бесконечной нумерации страниц Django?

На https://django-endless-pagination.readthedocs.org/en/latest/twitter_pagination.html я читаю, что пример views.py может выглядеть так:

from endless_pagination.decorators import page_template

@page_template('myapp/entry_index_page.html')  # just add this decorator
def entry_index(
        request, template='myapp/entry_index.html', extra_context=None):
    context = {
        'entries': Entry.objects.all(),
    }
    if extra_context is not None:
        context.update(extra_context)
    return render_to_response(
        template, context, context_instance=RequestContext(request))

Это, кажется, указывает на то, что мы должны позвонить Entry.objects.all() и передать результаты в шаблон. Но не Entry.objects.all() уже сделать запрос запроса, чтобы получить все соответствующие объекты БД, победив одну из основных целей разбиения на страницы (чтобы получить небольшие порции данных за один раз)?

1 ответ

Решение

Запросы в Django - это Lazy, это означает, что Entry.objects.all() не выводит полный список записей, он просто указывает область результатов, которые покажет Endless.

Другие вопросы по тегам