如何根据时间戳对InstrumentedList进行排序?

pre*_*mba 0 python sqlalchemy pyramid

目前InstrumentedList我的金字塔应用程序中代表了一对多的关系.这种关系以下列方式构建:

Class project:
 submissions = relationship('Submission', backref='project')
Run Code Online (Sandbox Code Playgroud)

我想迭代项目列表中的每个提交.但是,我希望我的提交按时间戳(datetime对象)排序

这是我现在迭代我的提交的方式:

for project in projects:
    for submission in project.submissions:
        # Do some stuff with each submission here
Run Code Online (Sandbox Code Playgroud)

问题是每当重新加载应用程序时,每个项目的提交顺序都会发生变化.我需要订单一致并按时间戳排序,我该怎么做呢?

Mar*_*ers 7

您需要使用以下order_by参数在关系定义中指定排序:

class Project(Base):
    # ...
    submissions = relationship('Submission',
        backref='Project', order_by='Submission.timestamp')
Run Code Online (Sandbox Code Playgroud)