通常,最好对给定对象执行单个查询与许多查询。假设我有一堆'儿子'物体,每个物体都有'父亲'。我得到所有的'儿子'对象:在App Engine中访问相关对象密钥而不提取对象
sons = Son.all()
然后,我想让那群儿子的所有父亲。我做的:
father_keys = {}
for son in sons:
father_keys.setdefault(son.father.key(), None)
然后,我可以这样做:
fathers = Father.get(father_keys.keys())
现在,这个假设son.father.key()实际上并没有去获取的对象。我错了吗?我有一堆代码假定object.related_object.key()实际上并不从数据存储中获取related_object。
我正在做这个对吗?
踢踢屁股的答案。我的应用程序只有10倍的速度和更便宜:D – 2010-01-16 05:17:15
@Sudhir,很高兴帮助,感谢让我知道它做到了! - ) – 2010-01-16 05:29:31
说到哪些对象在从商店检索时被缓存?因此,如果我在处理程序中执行了Father.get(all_keys),如果我只是将他们的父亲打印出来,运行时是否会尝试再次将它们放入模板中? – 2010-01-16 05:31:32