如何使用ndb的OR?

时间:2012-07-02 19:57:01

标签: google-app-engine google-cloud-datastore app-engine-ndb

我有以下代码:

employees = Employee.query()
employees = employees.filter(query.OR(Employee.passport_id == passport_id,
  Employee.inn == inn))
employees.order(-Employee.added)
results = employees.fetch(5)

但我收到错误:

NameError: global name 'query' is not defined

顺便说一下,passport_id is NoneEmployee.passport_id is None如何运作。它会找到这样的匹配吗?

UPD。通过添加

修复了第一个问题
from google.appengine.ext.ndb import query 

第二个问题仍然存在..

1 个答案:

答案 0 :(得分:1)

你应该使用ndb.OR,所以你不需要导入查询子模块(你永远不必导入它)。

如果passport_id是已定义的属性,是的,查询Employee.passport_id ==无效。 (务必使用'=='运算符,而不是'是'。)