在sqlalchemy中,如何检查会话中是否附加了模型?

ker*_*win 6 python sqlalchemy

在sqlalchemy中,如何检查会话中是否附加了模型的一个对象?以及如何获得一个模型对象的附加会话.

tsa*_*ein 7

要回答第一个问题,如果对象附加到会话,您可以使用:

print(obj in DBSession)
Run Code Online (Sandbox Code Playgroud)

或使用检查:

from sqlalchemy import inspect
print(not inspect(obj).detached)
Run Code Online (Sandbox Code Playgroud)

另见:http://docs.sqlalchemy.org/en/latest/orm/session_state_management.html#getting-the-current-state-of-an-object


Nil*_*esh 5

会话不附加任何模型,而是附加到模型的对象.您将在object_session方法的帮助下从对象获取附加的会话.