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有关。但是那里的解决方案需要为不同的查询类创建不同的会话。