7 ошибок в Django, из-за которых проект тормозит даже на «простых» страницах
— Тянуть всё через ORM без select_related и prefetch_related: на списках это быстро превращается в N+1 и лишние запросы к базе.
— Держать тяжёлую логику во view: когда в одном месте и валидация, и расчёты, и отправка писем, код становится трудно тестировать и почти невозможно переиспользовать.
— Игнорировать индексы и план запросов: фильтр по полю есть, а в таблице нет нормального индекса — дальше начинается «почему это так медленно».
Ещё одна типовая проблема — хаотичные шаблоны. Если в template лезут условия на пол-экрана, проще вынести часть логики в методы модели, сервисный слой или template tags. И не забывайте про формы: clean() и clean_field() часто спасают от дублирования проверок в нескольких view.
Финальный фильтр простой: если кусок кода сложно объяснить вслух за 20 секунд, его уже пора дробить. В Django это почти всегда окупается в сопровождении, скорости и количестве багов.
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
7 ошибок в Django, из-за которых проект тормозит даже на «простых» страницах
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.