订购

给出一个基本模型:

class SpreadsheetCells(Base):
    __tablename__ = 'spreadsheet_cells'

    id = Column(Integer, primary_key=True)
    y_index = Column(Integer)
    x_index = Column(Integer)

你可以通过链接 order_by 方法来检索有序列表。

query = session.query(SpreadsheetCells).order_by(SpreadsheetCells.y_index)

这可以在 filter 之后链接,

query = session.query(...).filter(...).order_by(...)

或进一步撰写现有查询。

query = session.query(...).filter(...)
ordered_query = query.order_by(...)

你还可以通过以下两种方式之一确定排序方向:

  1. 访问字段属性 ascdsc
query.order_by(SpreadsheetCells.y_index.desc()) # desc
query.order_by(SpreadsheetCells.y_index.asc()) # asc
  1. 使用 asc 和 desc 模块函数:
from sqlalchemy import asc, desc

query.order_by(desc(SpreadsheetCells.y_index)) # desc
query.order_by(asc(SpreadsheetCells.y_index)) # asc