我有3张桌子。只有在某些条件/标记为真时,才需要一直连接2个,而第3个需要一直连接。同样,如果为true,则还需要添加group_by和order_by。需要帮助如何实现它。 在示例代码中,可以看到我编写了2个独立的查询,但是我正在寻找某种方式可以检查同一条件的所有查询。
# When the flag is False
childList = session.query( table1.-------).\
join(table2, and_(table1.id == table2.id)).\
group_by(table2.name)).\
order_by( table1.c.order).all()
# When the flag is true
childList = session.query( table1.-------).\
join(table2, and_(table1.id == table2.id)).\
join(table3, and_(table3.id == table2.id)).\
group_by(table2.name,table3.name)).\
order_by(table3.c.order).all()