我知道有一种方法可以使用get_by_id(someId)
根据其密钥ID获取某个实体,但是有没有办法让ID高于某个指定值的几个实体?使用常规过滤器,我们可以执行query.filter("customId >", someId)
,但如何为内置密钥ID执行此操作?
答案 0 :(得分:5)
即使Key看起来像一个没有意义的大字符串,它实际上是你的应用程序ID,实体类型,然后是数字自动分配的ID,或者你生成的键名(父类和名称空间是在那里,但相同的基本原则适用)。
当你做<或者>比较,或在查询中使用“order by”,它是针对这些单独的部分,而不是您看到的字符串编码。因此,鉴于app-ID和实体类型相同,您将按ID或键名部分进行比较或排序。文档解释了它here。
在filter方法中,您可以使用'__key__'作为属性名,然后使用Key.from_path
构造一个Key对象(至少在python中)