value_list()
возвращает QuerySet
, который возвращает словари [docs] .
QuerySets
ленивы - процесс создания QuerySet
не задействует никаких операций с базой данных. Вы можете складывать фильтры вместе в течение всего дня, и Django фактически не будет выполнять запрос, пока QuerySet не будет оценен [docs] .
Вы можете увидеть это , чтобы проверить, когда оценивается queryset
.
Фактически, создавая queryset
django, не попадает в базу данных, пока он не будет оценен (чем-то вроде iterator
) .
as Iterator()
чтение результатов без кеширования приведет к повышению производительности в ситуациях, когда нам нужен только один доступ к объектам, и это не связано с типом querysets