Google app engine 不包括实体的GAE ndb查询

Google app engine 不包括实体的GAE ndb查询,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,我想编写一个ndb查询,从结果集中排除一个由id标识的特定实体 我尝试了以下方法: result = Entity.query(Entity.key.id() != 'entity-id', *some other condition*).fetch() 实体.key.id()!='“实体id”位抛出错误。正确的语法是什么 我不知道是否可以按键查询exclude,您有一个简单的解决方法可以从最终结果中删除结果 但如果它起作用,语法应该是这样的: result = Entity.query(En

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

我尝试了以下方法:

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

实体.key.id()!='“实体id”位抛出错误。正确的语法是什么

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

但如果它起作用,语法应该是这样的:

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

可以使用db API根据特定实体的id排除该实体(我假设ndb API有一些小改动)。以下语法适用于我使用db API的情况。它构建了一个查询,结果排除了
id\u to\u retrieve
变量中的id:

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

这对我不起作用。我相信您必须使用from_path()键方法从种类和ID构建键对象。另外,要引用实体的键,您需要使用
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
语法,请参见我的答案。@HorseloverFat from。如果我用
.Key
替换我答案中的
.Key.from_path
,我会得到错误。您使用的是db API而不是ndb API。这一点很好。我没有注意到这是一个ndb问题。我会更新答案。