さまざまな理由で、データベースからオブジェクトのコレクションを取得し、データベースに接続されていない別のプロセスに渡そうとしています。私のコードは、以下のいずれかのように見えますが、私はget_list()
方法の外に私のリストの要素を見しようとするとSQLAlchemy、セッションにバインドされていないオブジェクトを取得する
sqlalchemy.exc.UnboundExecutionError: Instance <MyClass at 0x8db7fec> is not bound to a Session; attribute refresh operation cannot proceed
を得続けます。
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()
を使用している場合しかし、私はそれが閉じられなかったための要素を使用しますが、セッションの状態を心配することができています。
私はここで何が欠けていますか?
しかし... ... "close()メソッドはexpunge_all()を発行し、トランザクション/接続リソースを解放します。"この文はあなたが参照したページにあり、少なくともバージョン0.6までです。 – Oddthinking