这些查询之间有什么区别:
使用后续过滤器:
qry1 = Account.query() # Retrieve all Account entitites
qry2 = qry1.filter(Account.userid >= 40) # Filter on userid >= 40
qry3 = qry2.filter(Account.userid < 50) # Filter on userid < 50 as well
使用ndb.OR:
qry = Article.query(ndb.OR(Account.userid >= 40,
Account.userid < 50))
使用ndb.AND:
qry = Article.query(ndb.AND(Account.userid >= 40,
Account.userid < 50))
答案 0 :(得分:2)
第三个和第一个查询完全相同。但第二个查询是荒谬的,它最终可能会返回 Kind 中的所有实体。
答案 1 :(得分:1)
第一个查询执行AND。因此,查询只返回匹配两个不等式的实体。第二个查询执行OR。因此,将返回与任一过滤器匹配的实体。有关ndb查询的更多信息,请查看NDB Queries。