按最近的条目显示GAE列表

时间:2010-08-26 17:46:27

标签: python google-app-engine

n00b问题 - 我试图让列表首先显示最新的条目。这可以在没有reverse()的情况下工作,但是没有用它来检索。我听说我应该尝试使用order_by(),但我似乎无法让它工作。谢谢你的帮助!

类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 })

3 个答案:

答案 0 :(得分: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 })

答案 1 :(得分:1)

键不会自动按递增顺序排列;如果要按添加实体的日期排序,则需要添加一个DateTimeProperty,其中auto_now_add设置为True,并对其进行排序。

答案 2 :(得分:0)

reverse()修改列表。它不会返回排序列表,所以只需执行:

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