IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     01.07.2026       Выпуск 655 (29.06.2026 - 05.07.2026)       Статьи

Интеграция CGM в Django: Libre, Medtrum, Home Assistant и собственное хранилище данных

Современный диабетик использует сразу несколько устройств и сервисов. Сенсор непрерывного мониторинга глюкозы, приложение производителя, иногда инсулиновую помпу, иногда обычные шприц-ручки. Каждый производитель строит собственную экосистему, и объединять их между собой никто не собирается.Мне хотелось получить единую систему, которая автоматически собирает показатели сахара, хранит историю и предоставляет данные уже моему приложению.

     27.06.2026       Выпуск 654 (22.06.2026 - 28.06.2026)       Статьи

Django-style фильтры поверх SQLAlchemy: зачем я написал python пакет sqlalchemy-query-manager

TL;DR: я сделал sqlalchemy-query-manager — небольшой слой поверх SQLAlchemy для типовых backend-запросов. Он не заменяет SQLAlchemy, а добавляет более компактную запись для частых операций: фильтры в стиле number__gte=100, условия через Q, фильтрацию по связанным моделям, eager loading, CRUD helpers, агрегаты и просмотр итогового SQL. Идея в том, чтобы оставить SQLAlchemy в основе, но убрать повторяющийся код там, где запросы становятся слишком большими.

     20.06.2026       Выпуск 653 (15.06.2026 - 21.06.2026)       Статьи

Django-согласия и cookies под 152-ФЗ: версии документов, аудит и экспорт вместо одного чекбокса

Согласие на обработку персональных данных в Django-проекте часто начинается с одного BooleanField. Но затем оказывается, что недостаточно помнить только факт нажатия на чекбокс: пользователь мог видеть другую редакцию документа, отозвать согласие, выбрать лишь часть категорий файлов cookie, а администратору может понадобиться журнал действий и выгрузка в CSV. Я сделал для этого два полностью независимых Django-пакета с открытым исходным кодом:

     12.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Асинхронный django: новые начинания

Раньше я уже писал о своих идеях (1 и 2) о том, как сделать django асинхронным. Они основывались, вслед за sqlalchemy, на использовании гринлетов. Несмотря на то, что proof-of-concept был успешно получен, а трудностей - встречено меньше, чем ожидалось, я всё-таки отказался от этого подхода: во-первых, он уже применяется в sqlalchemy. Во-вторых, это ведёт к усложнению, и растёт так называемая test matrix - потому что поддерживается как синхронный случай, так и асинхронный. А simple, как мы знаем, is better than complex.

     11.06.2026       Выпуск 652 (08.06.2026 - 14.06.2026)       Статьи

Минус 500 MB: оптимизируем Docker-образ Django-приложения

Когда Docker-образ backend-приложения начинает весить 1,5 GB, это уже хороший повод хотя бы посмотреть, что вообще лежит внутри. Пока все работает, мало кто задумывается, сколько мусора, dev-зависимостей и ненужных файлов уезжает в production вместе с приложением. Но на самом деле от «лишнего веса» нужно избавляться, потому что каждый лишний мегабайт — это более долгие сборки и дополнительные сложности.  

     16.05.2026       Выпуск 648 (11.05.2026 - 17.05.2026)       Статьи

manage.py migrate в пятницу в 17:30 на проде с 3K RPS и таблицей 200М строк

 Это третья часть мини-серии о Django-миграциях. В первой части мы готовились к миграциям и разбирались с конфликтами, во второй чинили типичные подводные камни. Если их не читали, то рекомендую начать именно с них, а затем вернуться сюда.В этом же материале поговорим о самом интересном: что происходит, когда python manage.py migrate запускается в 17:30 в пятницу на проде, под 3k RPS и таблицей в 200 миллионов строк. Расскажу какие блокировки в PostgreSQL берёт каждая операция Django, что внутри atomic = False, как пишется правильный паттерн expand-migrate-contract, зачемнужны AddIndexConcurrently, AddConstraintNotValid, SeparateDatabaseAndState и как обновлять данные на больших таблицах.

     01.04.2026       Выпуск 642 (30.03.2026 - 05.04.2026)       Статьи

Фабрики в тестировании (Python, Django, pytest, factory_boy)

Здесь мы рассматриваем фабрики в тестировании. На очень элементарных примерах, с использованием языка python и инструментов Django, pytest, factory_boy.

     31.03.2026       Выпуск 642 (30.03.2026 - 05.04.2026)       Статьи

Мы сделали лучший REST фреймворк для Django

Сегодня я расскажу, как мы сделали самый быстрый и самый семантически корректный фреймворк для создания апишек на Джанго. Поговорим про конкурентов, покажу очень крутые интеграции, поделюсь своей философией и правилами, которые использовались для создания фреймоврка, ну накину на вентилятор для интереса.

     23.02.2026       Выпуск 637 (23.02.2026 - 01.03.2026)       Статьи

Что нужно знать о Django миграциях, чтобы не превратить в тыкву свой продакшен во время обновлений

Если вы разработчик и выбрали для своего проекта Django Framework, но не делали большие миграции на своем проекте, эти советы вам точно пригодятся.

     28.01.2026       Выпуск 633 (26.01.2026 - 01.02.2026)       Статьи

Django ORM: как QuerySet ленится, цепляется и генерирует SQL

Django ORM прячет SQL за красивым Python-интерфейсом. Пишешь User.objects.filter(active=True).order_by('name')[:10] — получаешь список пользователей. Круто. Но когда запросы тормозят или N+1 пожирает базу, приходится понимать, что вообще происходит.Разберём внутренности QuerySet: почему он ленивый, как работает chaining, когда запрос реально выполняется, и чем select_related отличается от prefetch_related на уровне SQL.

     14.01.2026       Выпуск 631 (12.01.2026 - 18.01.2026)       Статьи

CTE (Common Table Expression) / Django CTE

Как только ты начинаешь углубляться в изучение баз данных, так сразу на горизонте возникают такие понятия как подзапросы, CTE, представления и временные таблицы. По опыту работы в университете заметил, что с этими темами у людей часто возникают проблемы и недопонимания. В частности больше всего путаницы вносит именно CTE. 

     14.01.2026       Выпуск 631 (12.01.2026 - 18.01.2026)       Статьи

Флаг вам в руки: внедряем feature flags в Django

Сегодня поговорим о том, как включать и выключать функциональность в Django, не разворачивая каждый раз новый деплой. В больших проектах эту задачу решают через feature flags, такие условные флажки , которые позволяют запускать скрытые возможности лишь для части пользователей или откатывать фичи, не выкатывая заново весь код. Если вы хотите поэтапно раскатать новую функцию, сделать A/B тест или просто спрятать недоделанный модуль за переключателем, вам сюда.

     12.01.2026       Выпуск 631 (12.01.2026 - 18.01.2026)       Статьи

Сервисы — место, где живет бизнес-логика II

Вторая часть из серии статей «Сервисы — место, где живет бизнес логика». Если Вы еще не знакомы с первой частью, то рекомендую начать с нее, чтобы у вас сложилась общая картина. Сегодня мы постараемся ответить на все оставшиеся вопросы: познакомимся с прекрасной, легковесной DI-библиотекой, научимся «инжектить» в Django, посмотрим на несколько дашбордов в Кибане и поговорим про доменные модели.

     03.01.2026       Выпуск 629 (29.12.2025 - 04.01.2026)       Статьи

Параметры Python, которые должен знать питонист

Есть числа, которые полезно знать программистам на Python. Насколько быстро добавляется элемент в список? Как насчет открытия файла? Это занимает меньше миллисекунды? Если ваш алгоритм зависит от производительности, какую структуру данных вы должны использовать? Сколько памяти занимает число с плавающей запятой, один символ или пустая строка? Насколько быстр FastAPI по сравнению с Django?

     30.12.2025       Выпуск 629 (29.12.2025 - 04.01.2026)       Статьи

Сервисы — место, где живет бизнес-логика

Я работаю в компании и, так сложилось, что нас имеет мы имеем DRF монолит на писят два миллиона строк кода. И вот однажды, чью-то светлую голову посетила мысль — «а давайте писать код одинаково». Идея прозвучала чертвоски просто и соблазнительно. С этого момента мы завели себе ишака по имени «Django Service Layer», и все дружно начали на него наваливать

     11.12.2025       Выпуск 626 (08.12.2025 - 14.12.2025)       Статьи

Django 6.0: эволюция фреймворка в деталях

В свежем релизе фреймворк усиливает совместимость между СУБД, упрощает работу с email, улучшает ORM, добавляет удобства в шаблонах и снижает риск «выгорания» первичных ключей.

     02.12.2025       Выпуск 625 (01.12.2025 - 07.12.2025)       Статьи

Первый взгляд на новые фоновые задачи в Django 6.0

Фреймворк наконец получил встроенный API для очередей задач — но без воркеров, так что чудес пока ждать рано.

     12.11.2025       Выпуск 622 (10.11.2025 - 16.11.2025)       Статьи

Repository Pattern в управлении базами данных: пример интеграции NocoDB в Django

Классический сценарий: есть база данных и приложение на бэкенде. Для подключения достаточно знать адрес, порт, имя пользователя, пароль — и прямой доступ перед вами. Но что делать, если необходимо подключить no-code базу данных, которой можно управлять только через REST API?

     10.11.2025       Выпуск 622 (10.11.2025 - 16.11.2025)       Статьи

Разбираю свой фотоархив

Сделал поиск по личному архиву фотографий с применением трех нейросетей, векторного расширения к PostgreSQL и Django

     06.11.2025       Выпуск 621 (03.11.2025 - 09.11.2025)       Статьи

Как собрать платный AI-микро-SaaS (Next.js + Django + ЮKassa + Web Stories) и не застрять в пет-проекте

Большинство наших «проектов мечты» умирают не потому, что идея плохая, а потому что мы останавливаемся на уровне «ну вот, фронт есть, бэк вроде тоже, как-нибудь допилю оплаты и выложу». Не допиливаем. Если у вас в голове крутится мысль «я бы запустил свою фичу, если бы была готовая дорожка к деньгам» — это она.