SQLAlchemy学习-12.查询之 order_by 按desc 降序排序

发布时间 2023-10-10 19:50:45作者: 上海-悠悠

前言

sqlalchemy的query默认是按id升序进行排序的,当我们需要按某个字段降序排序,就需要用到 order_by。

order_by 排序

默认情况下 sqlalchemy 的 query 默认是按 id 升序进行排序的

res = session.query(Project).all()
print(res)  # [<Project(id='1', project_name='string'...)>, <Project(id='2', project_name='项目1'...)>, ....]

使用 desc 按 id 降序

res = session.query(Project).order_by(Project.id.desc()).all()
print(res)  # [<Project(id='7', project_name='项目133'...)>, <Project(id='6', project_name='项目6'...)>, ....]

按其它字段降序

res = session.query(Project).order_by(Project.name.desc()).all()

desc 方法

前面通过order_by(Project.name.desc()) 在字段后面加desc() 方法,编辑器无法识别到
还有另外一个方法,直接导入desc 方法

from sqlalchemy import desc
res = session.query(Project).order_by(desc(Project.project_name)).all()
print(res) # [<Project(id='6', project_name='项目6'...)>, <Project(id='5', project_name='项目5'...)>, ....]