1
我正在使用SQL Alchemy ORM並且有一些類/表,每個類都可能有一些自定義查詢。比方說,我想添加Fruit
表with_seed
的過濾可能性給我只有水果種子,並且Cutlery
表is_sharp
過濾方法is_sharp
給我只有鋒利的餐具。我想定義這些過濾器作爲擴展到Query
對象,我想在同一事務中使用它們:您可以擴展SQLAlchemy查詢類,並在同一會話中使用不同的SQLAlchemy查詢類嗎?
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有關。但是那裏的解決方案需要爲不同的查詢類創建不同的會話。