【发布时间】:2012-07-28 08:39:34
【问题描述】:
我在 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")
【问题讨论】:
-
您是否有存储在其他地方的所有路径的唯一列表?如果是这样,您可以对每个路径进行查询并获取最新的。这将导致更多的操作,但可能比尝试动态计算唯一路径更快。
-
不,我没有这样的清单。我只有 WikiPosts 表。
标签: google-app-engine google-cloud-datastore python-2.7 gql