【发布时间】:2013-10-20 13:05:41
【问题描述】:
我有以下型号,其中一个Thing可以有多个Action:
class Thing(polymodel.PolyModel):
create_date = db.DateTimeProperty(required=True)
class Action(db.Model):
thing = db.ReferenceProperty(Thing, collection_name='action')
action_by = db.StringProperty(required=True)
我需要使用原始 GQL 来计算没有操作的 Things 的数量。它应该是这样的:
SELECT * FROM Thing WHERE action = []
我有以下限制:
- 我必须使用原始 GQL(因为实际查询包含常规查询不支持的 DISTINCT)。
- 我无法获取数据并检查内容,因为我使用远程 api,只想统计数据以节省带宽。
可以吗?
【问题讨论】:
-
您打算处理什么样的数据量?即,您对 Thing 和 Event 实体的数量有何期望?您需要多久执行一次此查询,以及您需要多久得到答案?
-
感谢您的回复。应该有数万个 Thing 和大约相同数量的 Action。查询应该每天运行大约几百次,主要关注点不应该是下载所有数据,而只是计算它。我知道我可以在 GAE 服务器上的 python 中实现这个,但我正在寻找一个更简单的解决方案,如果存在的话。
标签: python google-app-engine google-cloud-datastore gql