Flask SQL炼金术通过不在连接上排序来排序?

Flask SQL炼金术通过不在连接上排序来排序?,flask,sqlalchemy,flask-sqlalchemy,Flask,Sqlalchemy,Flask Sqlalchemy,这必须非常简单,但我被卡住了。我经常使用order_进行简单的查询,但由于某些原因,它无法用于连接,如下所示 我的问题是: g.items = db.session.query(Executor).join("listed").\ order_by(Executor.executor_order.desc()).\ filter_by(Executor.will_id == g.profile.id).all()

这必须非常简单,但我被卡住了。我经常使用order_进行简单的查询,但由于某些原因,它无法用于连接,如下所示

我的问题是:

g.items = db.session.query(Executor).join("listed").\
                     order_by(Executor.executor_order.desc()).\
                     filter_by(Executor.will_id == g.profile.id).all()
以下是来自上述查询的sql结果-由于某些原因,完全忽略按部分排序的顺序。\u:

SELECT executor.id AS executor_id, executor.will_id AS   
       executor_will_id, executor.listed_people_id AS 
       executor_listed_people_id, executor.executor_order AS
       executor_executor_order FROM executor WHERE executor.will_id = :will_id_1
我做错了什么?为什么它完全忽略了.order\u by,即使我把它放在filter\u by之前

这是executor模型-连接似乎可以工作(我需要再绕一圈来确保):


您的加入似乎也不起作用?您确定这是正确的查询吗?您的
Executor
模型是什么样子的?
class Executor(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    will_id = db.Column(db.Integer(), db.ForeignKey('will.id', ondelete='CASCADE'))

    listed_people_id = db.Column(db.Integer(), db.ForeignKey('listed_people.id', ondelete='CASCADE'))
    executor_order = db.Column(db.Integer(), nullable=True)

    #relationship - so I can call Executor.listed_people for a list.
    listed_people = db.relationship('ListedPeople', backref='executor')