В библиотеке Guido van Rossum Ndb
для Google App Engine есть syntax for queries, что мне интересно. Предположим, вы хотите найти все счастливые пользователи, вы должны написать этот запрос:Как работает синтаксис NDb для приложения?
User.query(User.happy == True)
Я прочитал, что, как:
- Функция вызов
query
метода вUser
класса, который наследует отndb.Model
. До сих пор. - Один аргумент вызова функции - выражение, выполняющее логическое сравнение между свойством класса,
User.happy
и значением,True
.
Я бы ожидать, что выражение для оценки в False
(сколько dict.keys == True
бы), поэтому указанные выше, должны быть эквивалентны:
User.query(False)
Как Ndb сделать что-нибудь умное с этим? Какую магию питона мне не хватает?
Хорошо, это умно. Благодаря! Мне все еще кажется странным. В частности, кажется, что он работает с PEP 8: «Не сравнивайте логические значения с True или False using ==». Я понимаю, что вы говорите, что это не * действительно * логическое сравнение. Тем не менее, мой симулятор проверки мочи икает каждый раз. – Chris
Да, мне пришлось отключить E711 и E712 из-за этого синтаксиса. –