我在GAE上有一個應用程序,允許用戶將\編輯帖子添加到任何任意路徑(如wiki)。我將所有帖子存儲在一張表中。該表的結構如下:爲每個網址選擇最新帖子
class WikiPosts(db.Model):
path = db.StringProperty(required = True)
content = db.TextProperty(required = True)
date_created = db.DateTimeProperty(auto_now_add = True)
在主頁上我想顯示每個路徑的最新帖子。
我的問題與此類似(Select first row in each GROUP BY group?),但答案涉及使用GAE中不可能的連接。
我可以有一個專門的字段來跟蹤每個url的最新帖子,但是可以使用gql查詢嗎?
截至目前,我正在使用這個查詢,它返回按照創建時間排序的所有wiki帖子的所有版本。
db.GqlQuery("SELECT * FROM WikiPosts ORDER BY date_created DESC limit=10")
您是否有存儲在別處的所有路徑的唯一列表?如果是這樣,你可以爲每個路徑查詢並獲取最新的。這會導致更多的操作,但可能會比嘗試計算獨立路徑更快。 – Sologoub 2012-07-30 18:08:18
不,我沒有這樣的列表。我只有WikiPosts表。 – 2012-07-31 11:07:41