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

Делали ли транзакции в Django

Да, работал с транзакциями в Django. Они помогают обеспечить атомарность операций с БД. Основные способы:

  1. Декоратор @transaction.atomic:
python
from django.db import transaction

@transaction.atomic
def update_data():
    # Все операции внутри будут выполнены как одна транзакция
    obj1.save()
    obj2.save()
  1. Контекстный менеджер:
python
with transaction.atomic():
    # Блок кода в транзакции
    obj1.save()
    obj2.save()
  1. Вложенные транзакции - внутренний блок может откатиться независимо от внешнего с помощью savepoint.

Особенности:

  • По умолчанию работает autocommit
  • Для PostgreSQL можно задать уровень изоляции
  • При ошибке происходит автоматический откат
  • Можно явно вызывать transaction.commit() или rollback()

Пример из практики: использовал транзакции при обработке платежей, чтобы либо полностью выполнить все связанные операции, либо откатить изменения при ошибке.

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

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

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

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