MyTetra Share
Делитесь знаниями!
Отключить автоматическую отправку запроса (autoflush) в SQLAlchemy
25.05.2018
20:39
Автор: br0ke
Текстовые метки: python, sql, sqlalchemy, alchemy, autoflush, flush, no_autoflush, auto
Раздел: Информационные технологии - Python - Библиотеки - SQLAlchemy

В следующих ситуациях возникают ошибки:

1. Создан объект, добавлен в сессию, но сессия не отправлена;

2. Выполняется какой-нибудь SELECT запрос;

3. SQLAlchemy провоцирует отправку сессии (autoflush);

4. Если объекты находились в "нестабильном" состоянии, то возникнет исключение.


Можно отключить это поведение, пользуясь специальным контекстным менеджером:

with session.no_autoflush:

some_object = SomeClass()

session.add(some_object)

# won't autoflush

some_object.related_thing = session.query(SomeRelated).first()


 
MyTetra Share v.0.52
Яндекс индекс цитирования