簡體   English   中英

如何根據時間戳對 InstrumentedList 進行排序?

[英]How to sort an InstrumentedList based on timestamp?

目前我有一個InstrumentedList代表我的金字塔應用程序中的一對多關系。 關系的構建方式如下:

Class project:
 submissions = relationship('Submission', backref='project')

我想遍歷項目列表中的每個提交。 但是,我希望我的提交按時間戳( datetime對象)排序

以下是我目前迭代提交的方式:

for project in projects:
    for submission in project.submissions:
        # Do some stuff with each submission here

問題是每當重新加載應用程序時,我為每個項目提交的順序都會發生變化。 我需要順序一致並按時間戳排序,我該怎么做?

您需要使用order_by參數在關系定義中指定排序:

class Project(Base):
    # ...
    submissions = relationship('Submission',
        backref='Project', order_by='Submission.timestamp')

@martjin 回答完全沒問題,但是如果您想按降序對表格進行排序,請使用desc()函數:

class Project(Base):
    # ...
    submissions = relationship('Submission',
        backref='Project', order_by='Submission.timestamp.desc()')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM