Python SQL炼金术顺序_by with case

Python SQL炼金术顺序_by with case,python,sqlalchemy,Python,Sqlalchemy,我正在尝试执行一个查询,其中一行应始终位于第一位,否则按升序或降序排列。 我正在使用SQLAlchemy ORM the_case = case([(table.name != "foo", table.name)], else_="") a = db.query(table).order_by(the_case, asc(table.name)).all() b = db.query(table).order_by(the_case, desc(table.name)).all() 除了a

我正在尝试执行一个查询,其中一行应始终位于第一位,否则按升序或降序排列。 我正在使用SQLAlchemy ORM

the_case = case([(table.name != "foo", table.name)], else_="")

a = db.query(table).order_by(the_case, asc(table.name)).all()
b = db.query(table).order_by(the_case, desc(table.name)).all()

除了a==b之外,它是有效的我知道可能有点晚了,但是尝试使用
案例作为
ask()
desc()
的参数:

a = db.query(table).order_by(ask(the_case)).all()
b = db.query(table).order_by(desc(the_case)).all()

我知道这可能有点晚了,但试着用
这个案例作为
ask()
desc()
的参数:

a = db.query(table).order_by(ask(the_case)).all()
b = db.query(table).order_by(desc(the_case)).all()

我相信你的意思是
asc
而不是
ask
。我相信你的意思是
asc
而不是
ask