Python GQL不适用于键的GET参数

Python GQL不适用于键的GET参数,python,google-app-engine,gqlquery,Python,Google App Engine,Gqlquery,我试图在Python中比较GQL中的key-to-filter结果,但是与int的直接比较或类型转换是有效的。因此,我不得不在下面的未注释行中做一个变通。有什么线索吗 row = self.request.get("selectedrow") #mydbobject = DbModel.gql("WHERE key=:1", row).fetch(1) #mydbobject = DbModel.gql("WHERE key=:1", int(row)).fetch(1)#invalid lit

我试图在Python中比较GQL中的key-to-filter结果,但是与int的直接比较或类型转换是有效的。因此,我不得不在下面的未注释行中做一个变通。有什么线索吗

row = self.request.get("selectedrow")
#mydbobject = DbModel.gql("WHERE key=:1", row).fetch(1)
#mydbobject = DbModel.gql("WHERE key=:1", int(row)).fetch(1)#invalid literal for int()   with base 10
#print mydbobject,row

que = db.Query(DbModel)
results = que.fetch(100)
mydbobject = None
for item in results:
if item.key().__str__() in row:
    mydbobject = item
EDIT1-如果再次尝试不检索记录,则密钥将与记录一起存在于数据存储中
mydbobject=DbModel.gql(“WHERE key=key(“%s”)“%row).fetch(1)

我的假设是正确的,您基本上只想检索具有特定键的对象?如果是这样的话,以下内容可能会有所帮助:

mydbobject = DbModel.get_by_id(int(self.request.get("selectedrow")))
错误“int()的文本无效”表示传递给int的参数不是表示整数的字符串。尝试打印“row”的值进行调试,我打赌它是一个空字符串

从键中检索元素的正确方法是使用方法“get”或“get\u by\u id”。 就你而言:

row = self.request.get("selectedrow")
mydbobject = DbModel.get(row)

行在转储时包含键并且不是空的,但是得到了工作,thx太多了