Разве вызов 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.