GAE ndb查询排除实体

时间:2012-08-09 03:19:23

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

我想编写一个ndb查询,该查询从结果集中排除由其id标识的特定实体。

我尝试了以下内容:

result = Entity.query(Entity.key.id() != 'entity-id', *some other condition*).fetch()

Entity.key.id()!=' entity-id'有点抛出错误。什么是正确的语法?

2 个答案:

答案 0 :(得分:2)

我不知道是否可以查询排除密钥,您有一个简单的解决方法可以从最终结果中删除结果。

但如果有效,语法应该是这样的:

result = Entity.query(Entity.key != ndb.Key(Entity, id), *some other condition*).fetch()

答案 1 :(得分:0)

可以使用db API基于其id排除特定实体(我假设ndb API有一些小的改动)。以下语法适用于我使用db API。它构建一个查询,其结果排除了id_to_retrieve变量中的id:

id_to_retrieve = 123456
query = Entity.all() 
query.filter('__key__ !=',  db.Key.from_path('Entity', id_to_retrieve))
query.fetch(None)