Встречается на собеседованиях • сегодня

Что такое сессия в Django ORM

Сессия в Django ORM — это механизм для управления взаимодействием с базой данных. Она представляет собой временное хранилище объектов, которые были загружены или изменены, и обеспечивает их согласованность.

Ключевые особенности:

  • Объекты загружаются в сессию при первом запросе и кэшируются
  • Изменения накапливаются и сохраняются только при вызове save() или update()
  • Сессия автоматически создается при запросе и закрывается после ответа

Пример:

python
from django.db import transaction

with transaction.atomic():  # Создает сессию
    user = User.objects.get(pk=1)  # Объект загружается в сессию
    user.username = 'new_name'     # Изменения пока только в памяти
    user.save()                    # Изменения сохраняются в БД

Нюансы:

  • select_for_update() блокирует строки в сессии
  • refresh_from_db() перезагружает объект из БД
  • bulk_create() не использует сессию для новых объектов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы