在数据存储区中操作日期

时间:2010-02-20 02:12:52

标签: python database google-app-engine

我最近一直在玩谷歌的AppEngine而且我似乎陷入困境。我正在尝试创建一个查询,选择在特定日期之前的帖子(在这种情况下,日期是现在 - 1天)。我已经尝试了几种不同的方法来实现这一目标,但没有一种方法可行。其中一个涉及将所有日期转换为UNIX时间并运行如下查询:

db.GqlQuery("SELECT __key__ FROM Post WHERE date-84600 < %s LIMIT 10, ORDER BY date DESC" % time.time())

但是在尝试之后,我收到了一个语法错误,告诉我GQL没有支持减去查询等操作。

有没有人知道如何才能做到这一点?

提前致谢

2 个答案:

答案 0 :(得分:1)

如果您构建查询using methods会怎样?

query = Post.all()
query.filter('date < ', datetime.datetime - 84600)
results = query.fetch(limit=10)

答案 1 :(得分:1)

您需要在查询之外移动数学:

db.GqlQuery("SELECT __key__ FROM Post WHERE date < :1 LIMIT 10, ORDER BY date DESC", (time.time() - 84600))