2010-01-17 4 views
2

피드 모델에 10 개의 엔티티가 있습니다. (이것은 App Engine 모델입니다.)파이썬리스트 : 타임 스탬프로 정렬하는 방법? (App Engine 관련)

class Feed(db.Model): 
    sometext = db.StringProperty() 
    timestamp = db.DateTimeProperty(auto_now=True) 

list_of_keys = ["key1","key2","key3".... "key10"] 

그래서 db.key() 메소드를 사용하여 엔티티를 호출합니다.

feeds = db.keys(list_of_keys) 
# this loop below prints the feed 
for feed in feeds: 
    print humanizeTimeDiff(feed.timestamp) 

# humanizeTimeDiff is a function to change the raw timestamp into a human friendly 
# version: eg-> 10 mins ago, 20 seconds ago 

타임 스탬프에 따라 피드를 정렬 하시겠습니까? (나는 가장 최신 피드를 맨 아래에 가장 오래된 피드를 원한다)

원시 타임 스탬프에서 사용할 수있는 정렬 함수는 무엇입니까? (내 거친 계획은 원시 타임 스탬프에 따라 정렬 한 다음 시간 차이를 인간화하는 것입니다.)

추신 : 형식으로 입력을 얻으므로 Timestamp에 따라 GQL 쿼리를 사용하여 내 엔터티를 쿼리 할 계획이 없습니다. 키 목록. db.key()를 사용하는 것이 더 빠른 방법입니다.

희망 충분한 정보를 제공했습니다. 당신의 생각/해결책을 듣고 싶습니다.

답변

10
import operator 

    ... 

for feed in sorted(feeds, key=operator.attrgetter('timestamp'), reverse=True): 
    print humanizeTimeDiff(feed.timestamp) 
관련 문제