2010-08-26 37 views
0

n00b問題 - 我試圖讓列表最先顯示最近的條目。這工作沒有reverse(),但沒有檢索到它。我聽說我應該嘗試使用order_by(),但我似乎無法讓它工作。謝謝您的幫助!顯示最近的條目的GAE列表

類MainHandler(webapp.RequestHandler):

def get(self): 

    que = db.Query(models.URL) 
    url_list = que.fetch(limit=100) 
    new_list = url_list.reverse() 

    path = self.request.path   
    if doRender(self,path): 
     return 
    doRender(self,'base/index.html', { 'new_list' : new_list }) 

回答

2

在django中,您使用order_by(),但對於GAE它是order()。

因此,答案是不是在利用反向但:

類MainHandler(webapp.RequestHandler):

def get(self): 

    que = db.Query(models.URL).order('-created') 
    url_list = que.fetch(limit=100) 

    path = self.request.path   
    if doRender(self,path): 
     return 
    doRender(self,'base/index.html', { 'url_list' : url_list }) 
0

反向()就地修改列表。它不返回排序列表,因此只需要:

url_list.reverse() 
path = self.request.path   
if doRender(self,path): 
    return 
doRender(self,'base/index.html', { 'new_list' : url_list }) 
+0

嗯,一些工作的時間,但引發奇怪的異常嗯 – Emile 2010-08-26 18:46:40

1

鍵是不會自動遞增順序;如果要按實體添加的日期排序,則需要添加一個將auto_now_add設置爲True的DateTimeProperty,然後對其進行排序。