我想比较关键,以过滤GQL在python而是直接对比结果也不类型转换为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( '%s' 的)” %行).fetch(1)

有帮助吗?

解决方案

我是在我的假定你基本上只是想检索与特定键的对象是否正确?如果是这样,获取和get_by_id方法可能会有所帮助:

mydbobject = DbModel.get_by_id(int(self.request.get("selectedrow")))

其他提示

在错误“无效字面对于int()”表明paramater通到int不是表示整数的字符串。尝试打印的“行”值用于调试运行,我打赌它是一个空字符串。

检索来自关键的元件正确的方法是简单地通过使用方法“获得”或“get_by_id”。 在你的情况:

row = self.request.get("selectedrow")
mydbobject = DbModel.get(row)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top