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

Какой декоратор нужно использовать для создания транзакции

Для управления транзакциями в Django используется декоратор @transaction.atomic. Он гарантирует атомарность блока кода - либо все операции внутри выполнятся успешно, либо ни одна из них не применится.

python
from django.db import transaction

@transaction.atomic
def transfer_funds(from_account, to_account, amount):
from_account.balance -= amount
from_account.save()
to_account.balance += amount
to_account.save()

text

Ключевые особенности:
- При ошибке внутри блока происходит откат всех изменений
- Можно использовать как декоратор функции, так и как контекстный менеджер
- Поддерживает вложенные транзакции через savepoints
- По умолчанию работает на уровне базы данных

Для более сложных сценариев можно использовать `transaction.on_commit()` для отложенных действий после успешного коммита.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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