Python Web & Scripts — Django, FastAPI, скрипты

5 ошибок в Django, которые тихо съедают время команды и замедляют релизы

5 ошибок в Django, которые тихо съедают время команды и замедляют релизы

В Django чаще всего ломают не «большую архитектуру», а мелочи, которые годами копятся в репе. За неделю в репах: один и тот же паттерн всплывает в проектах разного размера — от агентских кабинетов до внутренних CRM.

— Логика в views. Когда обработка запроса, валидация и бизнес-правила сидят в одном месте, код быстро становится не тестируемым. Выносите правила в services или domain-слой, а view оставляйте тонким.
— Слишком жирные модели. Model-методы удобны, пока не начинают тянуть внешние вызовы, расчёты и side effects. Если метод нельзя вызвать без базы и сети, это уже не model.
— Игнорирование select_related/prefetch_related. На списках и карточках это даёт классический N+1 и медленный интерфейс. Сначала смотрите в шаблон и сериализатор, потом в индексы.

Ещё одна частая проблема — смешивать админку, API и фоновые задачи в одной логике. Когда один и тот же кусок кода используется везде, его надо проектировать как переиспользуемый сервис, а не копировать «как получилось». И отдельно проверяйте permissions: в Django баги доступа часто живут не в auth, а в custom queryset.

Если нужно начать с малого, проверьте три места: views, ORM-запросы и слой прав. Обычно этого хватает, чтобы убрать половину технического долга без большого рефакторинга.
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.