我想编写一个 ndb 查询,它从结果集中排除由其 id 标识的特定实体。
我尝试了以下方法:
result = Entity.query(Entity.key.id() != 'entity-id', *some other condition*).fetch()
Entity.key.id() != 'entity-id' 位会引发错误。什么是正确的语法?
我想编写一个 ndb 查询,它从结果集中排除由其 id 标识的特定实体。
我尝试了以下方法:
result = Entity.query(Entity.key.id() != 'entity-id', *some other condition*).fetch()
Entity.key.id() != 'entity-id' 位会引发错误。什么是正确的语法?
我不知道是否可以在键上查询排除,您有一个简单的解决方法可以从最终结果中删除结果。
但如果它有效,语法应该是这样的:
result = Entity.query(Entity.key != ndb.Key(Entity, id), *some other condition*).fetch()
可以使用 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)