SQL Alchemy order_by没有在连接上订购?

时间:2015-05-25 18:28:19

标签: flask sqlalchemy flask-sqlalchemy

这必须非常简单,但我被困住了。我使用order_by进行简单的查询,但出于某种原因,它不会在连接上工作,如下所示。

这是我的问题:

g.items = db.session.query(Executor).join("listed").\
                     order_by(Executor.executor_order.desc()).\
                     filter_by(Executor.will_id == g.profile.id).all()

以下是上述查询的sql结果 - 由于某种原因完全忽略了order_by部分:

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_by,即使我把它放在filter_by之前?

这是执行者模型 - 连接似乎有用(我需要更多地围绕它来确保):

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')

0 个答案:

没有答案