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,然后对其进行排序。