2012-07-16 4 views
0

현재 피라미드 앱에서 일대 다 관계를 나타내는 InstrumentedList이 있습니다. 관계는 다음과 같은 방법으로 구성된다 :타임 스탬프에 따라 InstrumentedList를 정렬하는 방법은 무엇입니까?

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

내가 프로젝트 목록의 모든 제출을 반복하고 싶습니다. 그러나, 나는 내 제출이 타임 스탬프 (A datetime 객체)로 주문해야

여기

나는 순간에 내 제출 반복하고 어떻게되고 싶어 :

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

문제는 나의 제출의 순서 앱이 다시로드 될 때마다 모든 프로젝트가 변경됩니다. 일관되게하고 타임 스탬프별로 순서가 필요합니다. 어떻게해야합니까?

+0

내가 어떤 타임 스탬프를 참조 해달라고하지만 당신이 할 수있는'sorted_list = 분류 (orig_list, 키 = 람다 X : X [ 'timestamp'])) 또는 뭔가 매우 simillar –

답변

7

당신은 order_by parameter 사용하여 관계 정의의 순서를 지정해야합니다 :

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

order_by 매개 변수가 완벽하게 작동했습니다, 감사합니다! – pretobomba

관련 문제