这个 App Engine Ndb 语法是如何工作的?

How does this App Engine Ndb syntax work?

Guido van Rossum 的 Ndb Google App Engine 库有一个 syntax for queries 我觉得很好奇。假设你想找到所有快乐的用户,你会写这个查询:

User.query(User.happy == True)

我读为:

我希望表达式的计算结果为 False(就像 dict.keys == True 那样),所以上面的表达式应该等同于:

User.query(False)

Ndb 如何利用它做任何智能的事情?我缺少什么 python 魔法?

您缺少 python 魔术方法。

__eq__(self, other)

Defines behavior for the equality operator, ==.

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