1.9Kпросмотров
27.6%от подписчиков
26 августа 2025 г.
Score: 2.1K
🕸️ 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() для тонкого контроля — так можно оптимизировать даже очень «тяжёлые» модели без переписывания логики.