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

Какой оператор нужно использовать в Django чтобы сделать транзакцию

Для работы с транзакциями в Django используется декоратор @transaction.atomic или контекстный менеджер transaction.atomic(). Они обеспечивают атомарность операций - либо все изменения в блоке кода выполняются успешно, либо откатываются.

Пример с декоратором:

python
from django.db import transaction

@transaction.atomic
def update_data():
    # Код, который должен выполняться атомарно
    obj1.save()
    obj2.save()

Пример с контекстным менеджером:

python
from django.db import transaction

def update_data():
    with transaction.atomic():
        # Код внутри блока будет атомарным
        obj1.save()
        obj2.save()

Если внутри блока произойдет исключение, все изменения будут откачены. Для вложенных транзакций можно использовать savepoint=True.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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