我在home / models.py中有一个名为Mytable的表,并使用django aep 我引用的是Mytable.all()。
它在数据查看器中显示为home_mytable
现在,对于app.yaml中的一些网址,我有一个单独的处理程序 处理这些请求。 (这实际上是一个谷歌浪潮 机器人处理程序)。
在这个处理程序中,我想引用表home_mytable 我这样做是通过调用db.GqlQuery(“SELECT * from home_mytable”)
来实现的然而奇怪的事情发生了。我收到了一个KindError 没有类型home_mytable的实现
我偶尔会收到这个,有时它只是有效 很好,我怀疑这是在我打电话给网址后发生的 从django处理程序引用此表。
我的问题是,我该怎么办? a)确保不会发生此错误 b)以编程方式检查可用的内容 '种'是我可以尝试调试这个
答案 0 :(得分:2)
App Engine Patch monkeypatches您的模型具有不同的类型名称。不要问我为什么,但这就是它的作用。要解决问题,您需要覆盖模型中的kind()类方法,以确保它们始终具有“固定”类型名称,如下所示:
class MyTable(db.Model):
@classmethod
def kind(cls):
return "home_mytable"