Раздел 45 · Python backend: Тарбадель

Своя ORM: QuerySet и N+1

middle~35 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Отчёт Лорры так и лежит недописанным: контракты Квота дороже ста кредитов, кроме аннулированных, по убыванию суммы. Contract.get умеет только «ровно одна строка, где равно». Ты дописываешь отчёт по-старому, строкой, и заодно страницу книги контрактов для Палаты: двадцать контрактов, у каждого владелец. Страница открывается секунду. Узор, который считает всё подряд, считает и это.

Сегодня у ормки появится язык запросов без строк: цепочка filter, exclude, order_by и срезов, которая ничего не делает, пока её не попросят о строках. А потом ты найдёшь, откуда взялся двадцать один запрос, назовёшь беду по имени и закроешь её двумя способами. И сравнишь ORM с тем, что PostgreSQL умеет сам: одна строка на контракт, подписи внутри неё массивом.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.