2

我知道有一种方法可以根据其键 ID 获取某个实体get_by_id(someId),但是有没有办法让多个 ID 高于某个指定值的实体?使用常规过滤器,我们可以做到query.filter("customId >", someId),但我怎样才能为内置密钥 ID 做到这一点?

4

1 回答 1

6

尽管 Key 看起来像一个无意义的大字符串,但它实际上是您的应用程序 ID、实体类型、然后是数字自动分配的 ID 或您生成的键名(父级和命名空间也在其中)的组合,但同样的基本原则适用)。

当您进行 < 或 > 比较,或在查询中使用“order by”时,它针对的是这些单独的部分,而不是您看到的字符串编码。因此,假设 app-ID 和 entity-type 相同,那么您将按 ID 或键名部分进行比较或排序。文档在此处进行了解释。

在过滤器方法中,您可以使用 '__key__' 作为属性名称,然后使用Key.from_path构造一个 Key 对象(至少在 python 中)

于 2012-04-16T18:36:59.183 回答