И теперь мне нужно запросить некоторые данные следующим образом: < /p>
def get_xx():
sess = Session()
return sess.query(xx).filter(
xx.id == 3, xx.status == 1
).first()
Уровень изоляции является повторяемым чтением , а AutoCommit выключен; Таким образом, я всегда получаю один и тот же результат, даже значение было обновлено. < /p>
Окончательное решение, которое я пытаюсь использовать следующим образом, однако я не уверен, достаточно ли это хорошо (близко после совершения)? < /p>
@contextmanager
def auto_session():
sess = Session()
try:
yield sess
sess.commit()
except: # swallow any exception
sess.rollback()
finally:
sess.close()
< /code>
и исходный код изменил < /p>
def get_xx():
with auto_session() as sess:
return sess.query(xx).filter(
xx.id == 3, xx.status == 1
).first()
Подробнее здесь: https://stackoverflow.com/questions/383 ... ion-commit
Sqlalchemy: session.close () или session.commit () ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение