7 типовых ошибок в Django, из-за которых проект начинает тормозить и путаться
Django прощает много, пока код маленький. Потом всплывают одинаковые проблемы: размазанная логика по view, тяжелые queryset’ы без select_related/prefetch_related, и модели, где бизнес-правила живут в шаблонах, а не в одном месте.
— Не таскайте вычисления в шаблоны: если в template появились if’ы на полстраницы, значит часть логики уже уехала не туда.
— Не делайте N+1 по привычке: список объектов без оптимизации связи быстро превращается в лишние запросы и лаги.
— Не лепите “универсальные” view без границ ответственности: один класс на всё обычно хуже трех простых функций.
Еще одна частая ошибка — смешивать работу с БД, валидацию и побочные эффекты в одном месте. Когда сигнал отправляет email, пишет в лог и меняет статус заказа, отлаживать это потом больно. Лучше держать доменную логику в сервисах или методах модели, а view оставить тонким слоем.
И последнее: не игнорируйте формы, менеджеры и queryset-методы как точки расширения. Django уже дал вам хорошие места для инкапсуляции — используйте их, иначе проект быстро превращается в набор исключений и патчей.
Если хотите, чтобы Django оставался управляемым, режьте зависимости и держите правила рядом с данными, а не рядом с экраном.
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
7 типовых ошибок в Django, из-за которых проект начинает тормозить и путаться
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.