Встречается на 1% собеседований по Python
Делали ли транзакции в Django
Да, работал с транзакциями в Django. Они помогают обеспечить атомарность операций с БД. Основные способы:
- Декоратор
@transaction.atomic:
python
from django.db import transaction
@transaction.atomic
def update_data():
# Все операции внутри будут выполнены как одна транзакция
obj1.save()
obj2.save()- Контекстный менеджер:
python
with transaction.atomic():
# Блок кода в транзакции
obj1.save()
obj2.save()- Вложенные транзакции - внутренний блок может откатиться независимо от внешнего с помощью
savepoint.
Особенности:
- По умолчанию работает autocommit
- Для PostgreSQL можно задать уровень изоляции
- При ошибке происходит автоматический откат
- Можно явно вызывать
transaction.commit()илиrollback()
Пример из практики: использовал транзакции при обработке платежей, чтобы либо полностью выполнить все связанные операции, либо откатить изменения при ошибке.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы