訂購

給出一個基本模型:

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