如何按创建日期查询谷歌应用引擎blobstore并订购结果

时间:2011-08-21 00:00:06

标签: google-app-engine blobstore

我需要从GAE blobstore中检索最新的文件集。目前我的代码说

nDays = 10 #this is set at run time
gqlQuery = blobstore.BlobInfo.gql("WHERE filename = :1 ORDER BY creation DESC",<filename>)
cursor = gqlQuery.fetch(nDays)

当我通过调用cursor [i] .creation迭代并打印出数据时,它不会给我从今天开始的最后n天。例如,今天是8月20日。我希望它能从8月11日到8月20日给我数据(我每天都有一个文件)。相反,它提供了几天后8月13日的数据。

如果我在gqlquery中删除ORDER BY,它会正确返回所有结果(未排序)。 如果我使gqlQuery可迭代,以便我说像

for filename in gqlQuery:
    print filename.creation

它只会从8月13日打印到几天(约8天)。我知道有一个事实,直到今天还有数据。从GAE,我可以查看数据。此外,当文件上传到blobstore时,Google会自动标记创建日期。

任何人都知道我缺少什么?

1 个答案:

答案 0 :(得分:0)

我也可能会错过一些东西,但你查询中“filename =:1”的目的是什么?

这对我的blobstore正确运行:

gqlQuery = blobstore.BlobInfo.gql("ORDER BY creation DESC")
blobs = gqlQuery.fetch(5)
self.response.headers['Content-Type'] = 'text/html'
self.response.out.write("Lasts blobs<br>")
for blob in blobs:
    self.response.out.write(blob.filename + "<br>")

Florent的