1
私はSQL Alchemy ORMを使用しており、いくつかのカスタムクエリを持つ可能性のあるいくつかのクラス/テーブルを持っています。たとえば、テーブルFruit
に、with_seed
という種子の果実を与え、テーブルCutlery
にフィルタリングの方法is_sharp
を追加して、鋭い刃物だけを与えたいとします。私はQuery
オブジェクトの拡張機能として、これらのフィルタを定義したい、と私は同じトランザクションでそれらを使用したい:SQLAlchemy Queryクラスを拡張し、同じセッションで異なるクラスを使用できますか?
def delete_sharp_cutlery_and_seedy_fruits(session_factory):
session = session_factory()
session.query(Fruit).with_seed().delete(synchronize_session='fetch')
session.query(Cutlery).is_sharp().delete(synchronize_session='fetch')
session.commit()
これは可能ですか?
これは質問hereに関連しています。しかし、そこでの解決策は、異なるクエリークラス用に異なるセッションを作成する必要があります。