如何仅在Google Appengine PolyModel孩子上查询__key__?

时间:2010-04-17 07:01:50

标签: google-app-engine query-optimization key gqlquery

所以情况是:我想优化我的代码来计算记录。所以我有一个父类Model类Base,一个PolyModel类Entry和一个子条目Entry Article:我如何查询Article。 key 所以我可以减少查询负载但只获得文章计数。

我的第一个想法是使用:

q = db.GqlQuery("SELECT __key__ from Article where base = :1", i_base) 

但事实证明GqlQuery并不喜欢这样,因为文章实际上存储在一个名为Entry的表中。

是否可以查询类属性?类似的东西:

q = db.GqlQuery("select __key__ from Entry where base = :1 and :2 in class", i_base, 'Article')

两者都不起作用。事实证明答案更容易。但是我要完成这个问题,因为我到处寻找这个问题。

q = db.GqlQuery("select __key__ from Entry where base = :1 and class = :2", i_base, 'Article')

1 个答案:

答案 0 :(得分:0)

最后一项是答案,class = class_name即使在技术上是一个列表也能正常工作。工作就像一个魅力。我在检查时发现了一个独特的错误,当执行查找时,你不能使用IN和!=。