Junior — Middle
93
Erklären Sie, wie man Transaktionen bei der Arbeit mit einer Datenbank mit Django ORM verwaltet
Antwort von AI
sobes.tech KI
В Django ORM управление транзакциями реализуется с помощью контекстного менеджера transaction.atomic(). Он позволяет группировать несколько операций с базой данных в одну транзакцию, которая либо полностью выполнится, либо откатится при ошибке.
Пример использования:
from django.db import transaction
try:
with transaction.atomic():
# Выполняем несколько операций с базой
obj1.save()
obj2.save()
# Если здесь возникнет исключение, все изменения откатятся
except Exception as e:
# Обработка ошибки
print(f"Ошибка транзакции: {e}")
Также можно использовать декоратор @transaction.atomic для функций, чтобы весь их код выполнялся в рамках транзакции.
Это гарантирует целостность данных и предотвращает частичные изменения при ошибках.