Sobes.tech
Junior — Middle
76

Kako implementirati izvršavanje operacija unutar transakcije u Django?

Одговор од АИ

sobes.tech АИ

В Django для выполнения операций внутри транзакции используется модуль transaction из django.db. Основной способ — использовать декоратор или контекстный менеджер transaction.atomic(), который гарантирует, что все операции внутри блока будут выполнены как одна транзакция. Если внутри блока возникает исключение, все изменения откатываются.

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

from django.db import transaction

def update_models():
    with transaction.atomic():
        # операции с моделями
        obj1.save()
        obj2.save()

Или с декоратором:

from django.db import transaction

@transaction.atomic
def update_models():
    obj1.save()
    obj2.save()