Django Python
7.18K subscribers
113 photos
5 videos
3 files
263 links
Django

Вопросы @haarrp

all questions to @haarrp

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - ml 📚

@pythonlbooks -📚books

@hr_itwork-работа
加入频道
🕸️ Django Tip — ускоряй сложные запросы с помощью `only()` + `defer()`

В Django ORM часто делают Model.objects.all(), вытаскивая все поля модели. Но если таблица тяжёлая, это съедает кучу памяти и тормозит.

💡 Лайфхак: загружай только нужные поля:


# Вместо этого
users = User.objects.all()

# Сделай так
users = User.objects.only("id", "username")
А если нужно отложить подгрузку дорогих полей (например, JSON или TextField):




users = User.objects.defer("profile_data", "settings_blob")

🟢 Что это даёт

Сильно ускоряет SQL-запросы (SELECT только нужные столбцы).
📉 Экономит память, так как Django не держит ненужные данные.
🔄 Поля можно подгрузить позже — при первом обращении Django сделает отдельный запрос.

💡 Совет: комбинируй only() и defer() для тонкого контроля — так можно оптимизировать даже очень «тяжёлые» модели без переписывания логики.
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 rest-filters — фильтрационный бэкенд для Django REST framework

Что это:
Новый инструмент для фильтрации в DRF, который расширяет возможности стандартного django-filter.

Особенности
- Использует serializer-поля для разбора и валидации (без Django-форм и виджетов)
- Поддержка группировки фильтров для гибкой логики
- Constraint system — проверка взаимозависимостей между параметрами
- Вложенные фильтры (nested filters) для работы со сложными структурами


Последний релиз — v0.6.0 (21 августа 2025)
- Возможность указывать группу по умолчанию для всего FilterSet (в том числе глобально)
- Поддержка subgroups для более сложных связей между фильтрами
- Новый метод FilterSet.get_combinator() для динамического выбора способа объединения фильтров
- ⚠️ Breaking change: теперь Entry нельзя создавать без указания группы

Почему стоит попробовать
Если стандартные фильтры Django REST кажутся ограниченными, rest-filters даёт:
- фильтрацию через сериализаторы,
- сложные сценарии с группировками и вложенностью,
- гибкость и расширяемость.

🔗 Репозиторий: https://github.com/realsuayip/rest-filters
Please open Telegram to view this post
VIEW IN TELEGRAM