1

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

我尝试了以下方法:

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

Entity.key.id() != 'entity-id' 位会引发错误。什么是正确的语法?

4

2 回答 2

2

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

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

result = Entity.query(Entity.key != ndb.Key(Entity, id), *some other condition*).fetch()
于 2012-08-09T05:02:18.723 回答
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)
于 2012-12-03T17:42:37.233 回答