почему результат gql-запроса вызывает исключение при вызове get () - PullRequest
1 голос
/ 09 февраля 2011

Я пытаюсь получить запись из моего хранилища данных с помощью:

 query = UserData.gql("WHERE mDeviceId = :1", id)
 Utils.log("my Object:" + str(query))
 entry = query.get()

Так получилось, что переменная 'id' даже не существует (опечатка), поэтому я знаю, как это исправить, но я не понимаю, почему полученный результат не позволяет мне вызывать get () в теме. Когда я это делаю, я получаю сообщение об ошибке:

Exception: Unsupported type for property  : <type 'builtin_function_or_method'>

Обычно я просто проверяю, есть ли запись == Нет, чтобы увидеть, не получаю ли я никаких результатов. Кто-нибудь знает, почему это происходит, и если я должен делать свои проверки для None по-другому, если у меня будут такие опечатки в будущем?

1 Ответ

5 голосов
/ 09 февраля 2011

Переменная с именем id не определена в вашем коде, поэтому она передает встроенную функцию id, и QL жалуется, что она получает функцию, когда она ожидает значение (целое число?).

Убедитесь, что вы присваиваете id значение перед его использованием.

Еще лучше, не создавайте теневые встроенные переменные своими собственными переменными - это приведет к ошибочным ошибкам вроде этой. : -)

...