Встречается на собеседованиях • сегодня
Как в SQLAlchemy выполнить несколько операций записи в рамках одной транзакции
В SQLAlchemy для выполнения нескольких операций в одной транзакции можно использовать контекстный менеджер session.begin() или метод session.commit(). Если возникнет ошибка, транзакция автоматически откатится.
Пример:
python
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine('sqlite:///example.db')
Session = sessionmaker(bind=engine)
session = Session()
try:
# Начало транзакции
session.begin()
text
# Несколько операций
session.add(User(name='Alice'))
session.add(User(name='Bob'))
# Фиксация изменений
session.commit()except:
# В случае ошибки - откат
session.rollback()
raise
finally:
session.close()
text
Или более короткий вариант с контекстным менеджером:
```python
with session.begin():
session.add(User(name='Alice'))
session.add(User(name='Bob'))
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы