Встречается на собеседованиях • сегодня
Делали ли транзакции в Django
Да, работал с транзакциями в Django. Они помогают обеспечить атомарность операций с БД. Основные способы:
- Декоратор
@transaction.atomic:
python
from django.db import transaction
@transaction.atomic
def update_data():
# Все операции внутри будут выполнены как одна транзакция
obj1.save()
obj2.save()- Контекстный менеджер:
python
with transaction.atomic():
# Блок кода в транзакции
obj1.save()
obj2.save()- Вложенные транзакции - внутренний блок может откатиться независимо от внешнего с помощью
savepoint.
Особенности:
- По умолчанию работает autocommit
- Для PostgreSQL можно задать уровень изоляции
- При ошибке происходит автоматический откат
- Можно явно вызывать
transaction.commit()илиrollback()
Пример из практики: использовал транзакции при обработке платежей, чтобы либо полностью выполнить все связанные операции, либо откатить изменения при ошибке.

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