目前我的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
问题是每当重新加载应用程序时,每个项目的提交顺序都会发生变化。我需要订单一致并按时间戳排序,我该怎么做呢?
答案 0 :(得分:7)
您需要使用order_by
parameter:
class Project(Base):
# ...
submissions = relationship('Submission',
backref='Project', order_by='Submission.timestamp')
答案 1 :(得分:1)
@martjin 的回答完全没问题,但如果您想按降序对桌子进行排序,请使用 desc() 函数:
class Project(Base):
# ...
submissions = relationship('Submission',
backref='Project', order_by='Submission.timestamp.desc()')