Size: a a a

Django [ru] #STAY HOME

2020 August 02

Б

Богдан in Django [ru] #STAY HOME
нет
источник

Б

Богдан in Django [ru] #STAY HOME
запрос тяжелый, мне нужно частями получать записи пользователя, чтобы быстрее был ответ
источник

A

Andrey in Django [ru] #STAY HOME
Богдан
model.objects.all()[:10] сделает запрос к бд, на получение всех объектов, а потом python оставит часть списка. Т.е. запрос будет как при model.objects.all()
как сделать запрос к бд, чтобы получить первые 10 записей или с 10 по 20?
Не сделает
источник

A

Andrey in Django [ru] #STAY HOME
Такая конструкция сформирует SQL зарос с параметром LIMIT 10
источник

Б

Богдан in Django [ru] #STAY HOME
странно, так время выполнения запроса только дольше становится
источник

A

Aquinary in Django [ru] #STAY HOME
Богдан
странно, так время выполнения запроса только дольше становится
А ты редактируешь данные эти?
источник

Б

Богдан in Django [ru] #STAY HOME
0:00:00.000376 - .all()
0:00:00.009132 - .all()[0]
источник

A

Andrey in Django [ru] #STAY HOME
Посмотри какие запросы формируются в первом и втором случае
источник

Б

Богдан in Django [ru] #STAY HOME
я просто засекаю время
start_time2 = datetime.now()
model.objects.all()
print(datetime.now() - start_time2)
источник

A

Aquinary in Django [ru] #STAY HOME
Во втором случае, как я понимаю, "ленивость" оrm перестаёт действовать и происходит реальный запрос к базе.
(Это не точно, просто догадка)
Сам по себе .all время не занимает, время занимает, когда непосредственно к квирсистету начинаешь обращаться
источник

Б

Богдан in Django [ru] #STAY HOME
Andrey
Посмотри какие запросы формируются в первом и втором случае
ajax запрос, toolbar не показывает
источник

A

Aquinary in Django [ru] #STAY HOME
По крайней мере так я понял)
источник

A

Andrey in Django [ru] #STAY HOME
Богдан
ajax запрос, toolbar не показывает
Я про sql запрос
источник

A

Andrey in Django [ru] #STAY HOME
Aquinary
Во втором случае, как я понимаю, "ленивость" оrm перестаёт действовать и происходит реальный запрос к базе.
(Это не точно, просто догадка)
Сам по себе .all время не занимает, время занимает, когда непосредственно к квирсистету начинаешь обращаться
Все верно
источник

A

Andrey in Django [ru] #STAY HOME
Model.objects.all() не делает ничего
источник

Б

Богдан in Django [ru] #STAY HOME
т.е. если прям очень много объектов, то тогда стоит добавлять [:10], а так только замедляется запрос?
источник

A

Andrey in Django [ru] #STAY HOME
Что?
источник

A

Andrey in Django [ru] #STAY HOME
Никак не связанные вещи между собой
источник

A

Andrey in Django [ru] #STAY HOME
Что оптимизировать то именно надо?
Время выполнения запроса?
источник

Б

Богдан in Django [ru] #STAY HOME
да
источник