SQLAlchemy ORDER BY DESCENDING?
我怎样才能像下面这样在SQLAlchemy查询中使用ORDER BY?
此查询可以工作,但会按升序返回它们:
query = (model.Session.query(model.Entry) .join(model.ClassificationItem) .join(model.EnumerationValue) .filter_by(id=c.row.id) .order_by(model.Entry.amount) # This row :) )
如果我尝试:
.order_by(desc(model.Entry.amount))
那么我得到: NameError: global name 'desc' is not defined
。
就像参考一样,您也可以将这些东西指定为列属性。 例如,我可能做了:
.order_by(model.Entry.amount.desc())
这是很方便的,因为你可以在其他地方使用它,比如在关系定义等等。
from sqlalchemy import desc someselect.order_by(desc(table1.mycol))
用法 @ jpmc26
你可能做的另一件事是:
.order_by("name desc")
这将导致:ORDER BY名称desc。 这里的缺点是依次使用显式的列名。
你可以在查询中使用.desc()
函数
query = (model.Session.query(model.Entry) .join(model.ClassificationItem) .join(model.EnumerationValue) .filter_by(id=c.row.id) .order_by(model.Entry.amount.desc()) )
这将按数量降序排列