【发布时间】:2013-03-06 18:53:25
【问题描述】:
这太奇怪了……
首先,此查询在数据存储查看器中工作,即。它返回正确的行。
SELECT * FROM Level where short_id = 'Ec71eN'
但是如果我运行这个
Level.all().filter("short_id = ", 'Ec71eN').get()
如果我运行它,它会返回 None:
db.GqlQuery("SELECT * FROM Level where short_id = '%s'" % 'Ec71eN').get()
它也返回无。如果我运行这个:
level = Level.get_by_id(189009)
它返回正确的行(189009是正确行的id)
令人困惑?这里有什么问题?我以前从未见过这样的东西,它至少在生产中正常工作了几周......我想我现在至少有两个案例从今天开始就不能工作了。
更新:这不可能是一个最终一致的问题,因为当我尝试上述操作时,该行已经 7 小时了。我有两排症状相同,奇怪的是同一用户生成的展位。在我通过上传特殊情况代码(例如:
if short_id==CASE_1_SHORT_ID:
level = Level.get_by_id(CASE_1_ID)
之后查询照常工作。
【问题讨论】:
标签: google-app-engine google-cloud-datastore