Встречается на 1% собеседований по Python
Как работаешь с транзакциями в БД
В Python для работы с транзакциями обычно используют контекстные менеджеры. Для SQLAlchemy:
python
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine('postgresql://user:pass@localhost/db')
Session = sessionmaker(bind=engine)
with Session() as session:
try:
# Операции внутри транзакции
session.add(some_object)
session.execute(some_query)
# Фиксация при успехе
session.commit()
except Exception:
# Откат при ошибке
session.rollback()
raiseДля Django ORM транзакции работают через декораторы или контекстные менеджеры:
python
from django.db import transaction
@transaction.atomic
def viewfunc(request):
# Весь код выполняется в транзакции
do_something()
# Или с контекстом
with transaction.atomic():
Model.objects.create(...)Ключевые моменты:
- Транзакция либо полностью выполняется, либо полностью откатывается
- Важно явно обрабатывать исключения и делать rollback
- В Django можно использовать savepoints для вложенных транзакций
- Уровни изоляции можно настраивать под требования приложения

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