Встречается на собеседованиях • сегодня
Как работаешь с транзакциями в БД
В 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
интервью вопросы и ответы