我正在尝试从数据库获取一个对象集合,并将其传递给另一个未连接到数据库的进程。我的代码如下,但是我一直收到以下错误:
sqlalchemy.exc.UnboundExecutionError: Instance <MyClass at 0x8db7fec> is not bound to a Session; attribute refresh operation cannot proceed
在get_list()
方法之外尝试查看我的列表元素时出现问题。
def get_list (obj):
sesson = Session()
lst = session.query(MyClass).all()
session.close()
return lst
然而,若我使用以下代码:
def get_list_bis (obj)
session = Session()
return session.query(MyClass).all()
我能使用这些元素,但我担心会话状态没有被关闭。
我在这里漏掉了什么?
Session.close()
隐式地执行(并且当时也是如此)expunge_all()
。 - Ilja Everilä