Встречается на 1% собеседований по Python
Как реализуешь транзакции в Django
В Django транзакции реализуются через декораторы или контекстные менеджеры из django.db.transaction. Основные способы:
- Декоратор
@transaction.atomic:
python
from django.db import transaction
@transaction.atomic
def update_data():
# Код выполняется в одной транзакции
model.save()
# При ошибке - откат всей транзакции- Контекстный менеджер:
python
with transaction.atomic():
# Блок кода в транзакции
obj1.save()
obj2.save()Ключевые особенности:
- Поддерживается вложенность транзакций (savepoints)
- Автоматический откат при исключениях
- Можно явно откатить через
transaction.set_rollback(True) - Для PostgreSQL есть доп. возможности (например,
transaction.on_commit())
Для управления уровнем изоляции нужно настраивать БД, так как Django использует стандартный уровень изоляции СУБД.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы