调用get()时为什么gql查询结果会导致异常

时间:2011-02-09 00:56:22

标签: google-app-engine gql

我正试图从我的数据存储中检索一个条目:

 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'>

通常我只是检查条目==无,看看我是否没有结果。有谁知道为什么会发生这种情况,如果我应该以不同的方式对我进行检查,以防我将来有这样的拼写错误?

1 个答案:

答案 0 :(得分:5)

在你的代码中没有定义一个名为id的变量,所以它传递了内置函数id,并且QL抱怨它在期望值(整数?)时得到一个函数。

检查以确保在使用前为id分配值。

更好的是,不要使用自己的变量来影响内置 - 这会导致像这样的混乱错误。 : - )