AP2*_*257 383 python sqlalchemy
如何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 :)
)
Run Code Online (Sandbox Code Playgroud)
如果我尝试:
.order_by(desc(model.Entry.amount))
Run Code Online (Sandbox Code Playgroud)
然后我得到:NameError: global name 'desc' is not defined
.
Ric*_*ick 630
就像FYI一样,您也可以将这些内容指定为列属性.例如,我可能已经做过:
.order_by(model.Entry.amount.desc())
Run Code Online (Sandbox Code Playgroud)
这很方便,因为您可以在其他地方使用它,例如关系定义等.
有关详细信息,请参阅此内容
AP2*_*257 324
from sqlalchemy import desc
someselect.order_by(desc(table1.mycol))
Run Code Online (Sandbox Code Playgroud)
来自@ jpmc26的用法
小智 72
你可能做的另一件事是:
.order_by("name desc")
Run Code Online (Sandbox Code Playgroud)
这将导致:ORDER BY name desc.这里的缺点是按顺序使用显式列名.
ana*_*thi 22
您可以.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())
)
Run Code Online (Sandbox Code Playgroud)
这将按降序或按数量排序
query = session.query(
model.Entry
).join(
model.ClassificationItem
).join(
model.EnumerationValue
).filter_by(
id=c.row.id
).order_by(
model.Entry.amount.desc()
)
)
Run Code Online (Sandbox Code Playgroud)
Art*_*nov 12
你可以试试: .order_by(ClientTotal.id.desc())
session = Session()
auth_client_name = 'client3'
result_by_auth_client = session.query(ClientTotal).filter(ClientTotal.client ==
auth_client_name).order_by(ClientTotal.id.desc()).all()
for rbac in result_by_auth_client:
print(rbac.id)
session.close()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
265505 次 |
最近记录: |