Называется это в Джанго QuerySet (задавать запрос).
Иными словами мы можем вывести все записи, можем вывести одну, можем отфильтровать записи по дате, можем в начале вывести последние записи. Смысл понятен.
QuerySet может быть создан, отфильтрован, ограничен и использован фактически без выполнения запросов к базе данных. База данных не будет затронута, пока вы не спровоцируете выполнение QuerySet.
Давайте сформируем основное правло работы с Джанго.
Вот как это описано в Джанго.
Заметка: не используйте такой подходи, если необходимо всего лишь узнать содержит ли результат запроса хотя бы один объект, и вам не нужен сам результат. Эффективнее использовать метод exists().
Теперь моими словами. Ребята, когда пишете функции в представлениях, помните одно правило, выводите ровно столько, что бы решить текущую задачу, то есть то что нужно показать пользователю, не более. Каждый запрос это нагрузка. Например, если есть необходимось вывести все записи используйте пагинатор, обязательно, Джанго устроена так, что будет нагрузка только на показанные записи. Во всех отальных случаях выводите всё. что только нужно.
Дополнительно. Обратите внимание параллельно мы продолжим изучение и функций представления, так как запросы пишуться в представлениях - это неотделимо, возможно будут использованы связи между моделями, но оснвная задача этого раздела, научится пользоваться выборкой объектов с базы.
Ещё. Всегда используйте кэш, так как нет смысла постоянно обращаться к базе, тем меньше обращений, тем лучше. (проходили в плане 2)
Пример выборки:
Теперь моими словами. Ребята, когда пишете функции в представлениях, помните одно правило, выводите ровно столько, что бы решить текущую задачу........