如何通过祖先/父级Google App Engine查询订购?

时间:2010-09-21 11:12:16

标签: python google-app-engine google-cloud-datastore

我想通过祖先命令实体,GQL reference仅提及订购中的属性。我是否必须将父项存储为属性以使其参与排序?

我试图实现这样的目标:

Foo.all().ancestor(bar).order('ancestor').order('-value').fetch(100)

编辑:

我有这样的事情:

bar
 ├ spam
 │  ├ foo2 (value = 2)
 │  └ foo7
 └ egs
    ├ foo6
    └ foo5

我想得到:[foo5, foo6, foo2, foo7]。我想我真的希望我按祖先对它们进行分组,然后按value属性对它们进行排序。

1 个答案:

答案 0 :(得分:4)

按键排序将首先由祖先排序,然后按实体的ID或名称排序。如果你想按祖先排序而不是按实体本身的id / name排序,那么是的,你需要包含一个明确的'祖先'SelfReferenceProperty来排序。