我在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