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

7 ошибок в Django, которые тихо ломают проект и потом долго ищутся

7 ошибок в Django, которые тихо ломают проект и потом долго ищутся

Django кажется «безопасным по умолчанию», но в проде чаще всего стреляют не фреймворк, а привычки команды. За неделю в репах обычно всплывают одни и те же вещи:
— тяжелая логика в views и serializers вместо сервисного слоя;
— N+1-запросы из-за забытых select_related/prefetch_related;
— model.save() как место для всего подряд;
— отсутствие явных ограничений на уровне БД.

Еще одна частая зона боли — формы и валидация. Если проверка данных живет только в шаблоне или фронте, бэкенд начнет принимать мусор. Если валидация размазана между model clean, serializer и view, отладка превращается в квест. Лучше держать правило одно: критичные инварианты должны быть проверяемы в модели или на уровне базы, а остальное — в тонком слое приема данных.

Отдельно смотрите на миграции и admin. Опасный паттерн — делать большие изменения схемы и сразу тащить за ними бизнес-логику в том же релизе. Когда что-то падает, непонятно, сломала миграция, фоновые задачи или новая ветка кода. Разносите изменения по шагам и оставляйте путь отката.

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

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

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

start

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

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

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