我想编写一个ndb查询,该查询从结果集中排除由其id标识的特定实体。
我尝试了以下内容:
result = Entity.query(Entity.key.id() != 'entity-id', *some other condition*).fetch()
Entity.key.id()!=' entity-id'有点抛出错误。什么是正确的语法?
答案 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)