2011-06-05 66 views
2

我需要爲過去7天取的實體,如果少於50個實體被取出延長至10天,該模型是這樣的:獲得最近7天的實體數據存儲

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

我也需要按降序播放次數排序。

任何幫助表示讚賞 感謝 Ĵ

回答

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() 
+0

嗯,我似乎可以訂購查詢,你可以只按照不等於過濾器中指定的值排序,該日期不會播放。 是否可以在查詢後對結果(列表)進行排序?因此取出日期範圍的實體,然後通過播放命令列表? – user664546 2011-06-05 18:57:47

+0

我得到它的工作,只使用上面的查詢沒有排序,然後命令返回的查詢列表排序() – user664546 2011-06-05 19:29:18