此App Engine Ndb语法如何工作?

时间:2015-03-26 13:31:29

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

Guido van Rossum的Google App Engine Ndb库有syntax for queries我觉得好奇。假设您想要找到所有满意的用户,您可以编写此查询:

User.query(User.happy == True)

我读到:

  • query类的User方法的函数调用,它继承自ndb.Model。好到目前为止。
  • 函数调用的一个参数是一个表达式,它在类属性User.happy和值True之间进行布尔比较。

我希望表达式评估为False(就像dict.keys == True那样),所以上面应该相当于:

User.query(False)

Ndb如何通过它做任何聪明的事情?我错过了什么蟒蛇魔法?

1 个答案:

答案 0 :(得分:8)

你错过了python魔术方法。

__eq__(self, other)
  

定义相等运算符的行为,==。

可以找到关于此的良好指南here