我有一个基本查询,我想根据条件使用不同的select子句进行自定义。本质上
engine = create_engine(…)
session = sessionmaker(bind=engine)()
base_query = session.query(Employees.id).\
filter(Employees.years_service>5)
if need_name:
Add a select clause for the name field
if need_birthday:
Add a select clause for birthday
…但筛选条件要复杂得多,因此我不希望只创建重复的查询
当我想添加额外的过滤条件时,我可以通过如下方式进行这种装饰:
if years_service_max_needed:
base_query.filter(Employees.years_service<10)
但我找不到允许我添加额外select语句的查询对象方法
有没有办法做这样的事
可以使用Query.add_columns执行此操作:
相关问题 更多 >
编程相关推荐