在数据存储区中获取最近7天的实体

时间:2011-06-05 18:09:14

标签: python google-app-engine google-cloud-datastore

我需要获取过去7天的实体,如果获取的实体少于50个,则将范围扩展到10天,模型类似于:

class MyModel(db.Model):
    title = db.StringProperty()
    date = db.DateTimeProperty(auto_now_add=True)
    plays = db.IntegerProperty()

我还需要按照下降的次数进行排序。

任何帮助表示赞赏 谢谢 Ĵ

1 个答案:

答案 0 :(得分:1)

我现在无法测试代码,但我会做类似的事情:

from datetime import datetime, timedelta

query = MyModel.gql("WHERE date > :1 ORDER BY plays DESC", datetime.now() - timedelta(days=7))
count = query.count()
if count < 50:
   query = MyModel.gql("WHERE date > :1", datetime.now() - timedelta(days=10))
value = query.fetch()