Встречается на собеседованиях • сегодня
Какой декоратор нужно использовать для создания транзакции
Для управления транзакциями в 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()` для отложенных действий после успешного коммита.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы