SQLAlchemy、セッションにバインドされていないオブジェクトを取得する
2023-07-22 21:50:46
質問
私はデータベースからオブジェクトのコレクションを取得し、それをデータベースに接続されていない別のプロセスに渡そうとしています。 私のコードは以下のもののように見えますが、私は得ることを続けます。
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.expunge_all()
以前
session.close()
より一般的には、最初の例のようにセッションがすぐには閉じられないとします。おそらくこれは、Web リクエストの全期間にわたってアクティブに保たれるセッションか、そのようなものでしょう。このような場合は
expunge_all
. より外科的な処理を行いたいでしょう。
for item in lst:
session.expunge(item)
関連
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] リストの要素数を取得する方法
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] オブジェクトの種類を決定しますか?
-
[解決済み] Pythonのクラスはなぜオブジェクトを継承するのですか?
-
[解決済み] Pythonでnullオブジェクトを参照する
-
[解決済み] SQLAlchemy ORDER BY DESCENDING?
-
[解決済み] SQLAlchemy: flush() と commit() の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] バブルソートの宿題
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Python 言語を決定するには?
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複