Django - Знает ли Django количество экземпляров каждой модели?
все.
Мне интересно... Поскольку Django не выполняет запрос к базе данных, пока не будет оценен Queryset :
QuerySets ленивы - акт создания QuerySet не включает в себя никакой активности базы данных. Вы можете складывать фильтры вместе хоть целый день, и Django не будет выполнять запрос до тех пор, пока QuerySet не будет оценен.
Тогда как MODEL.objects.get(pk=1)
, например, вызывает DoesNotExist
исключение, когда нет MODEL
экземпляра с pk=1
, даже если я сохранил его в переменной, не выводя на печать, например ?
Использование objects.get
не является "ленивым", так как не возвращает QuerySet
.
Ваш код: MODEL.objects.get(pk=1)
будет немедленно оценен и возвращен как экземпляр модели, а не QuerySet
.