Уведомления

Группа в Telegram: @pythonsu

#1 Май 12, 2010 12:22:08

pyOut
От:
Зарегистрирован: 2006-07-16
Сообщения: 125
Репутация: +  0  -
Профиль   Отправить e-mail  

Правильный эквивалент LIMIT

В документации Django написано что конструкция

Entry.objects.all()[:5]
является эквивалентом SQL-конструкции вида OFFSET 5 LIMIT 5

Разве такой подходя является правильным? Как я понимаю эта конструкция достает все элементы модели в список и потом уже средствами Python обрезает список до нужно длинны. Правильно ли я все понимаю?



Офлайн

#2 Май 12, 2010 12:52:02

Evg
От:
Зарегистрирован: 2008-12-25
Сообщения: 346
Репутация: +  -1  -
Профиль   Отправить e-mail  

Правильный эквивалент LIMIT

Ну гляньте через as_sql() скорее всего конечно лимит там.



Офлайн

#3 Май 12, 2010 18:12:04

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Правильный эквивалент LIMIT

pyOut
Entry.objects.all()[:5]
является эквивалентом SQL-конструкции вида OFFSET 5 LIMIT 5
Начнем с того что это эквивалет LIMIT 5
pyOut
Правильно ли я все понимаю?
Нет. Слайсы для QuerySet генерируют правильные OFFSET/LIMIT в запросе.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version