2010-02-20 83 views
0

我最近一直在玩Google的AppEngine,我似乎陷入了困境。我試圖創建一個查詢來選擇某個日期之前的帖子(在這種情況下,日期現在是 - 1天)。我嘗試了幾種不同的方法來完成這個任務,但都沒有成功。其中之一涉及到將所有日期以UNIX時間和運行這樣的查詢:操作數據存儲中的日期

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

但是,試圖在此之後,我得到了它告訴我GQL沒有爲如減去運營支持語法錯誤查詢。

有沒有人有任何想法,我怎麼能做到這一點?

在此先感謝

+0

快速評論。如果它說它不能減去,那可能是由於「date-84600」這個名字。您是否嘗試過將它封裝在單引號中,或者GQL語法允許引用列名稱的任何機制? – 2010-02-20 02:45:28

+0

上次將整個數據庫轉換爲秒數是一個拖動,所以我要等一會兒,看看我是否有其他答案,否則我會試試看,看看是否有問題。 – 2010-02-20 05:00:37

回答

1

,如果你建立你的查詢using methods會發生什麼?

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

你需要移動的數學查詢外:

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