Если я делаю:
queryset=User.objects.all() lst=list(queryset)
, то
print lst[2].first_name
получает ли first_name второй элемент из базы данных или из памяти?
first_name
Когда вы звоните list(queryset), он оценит запрос в базе данных и сохранит его в памяти.Таким образом, print[2].first_name больше не ударит по БД, а скорее вытащит его из этого списка в памяти.
list(queryset)
print[2].first_name