Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';没有实现种类';当Kind是一个多模儿童时_Python_Google App Engine_Google Cloud Datastore - Fatal编程技术网

Python ';没有实现种类';当Kind是一个多模儿童时

Python ';没有实现种类';当Kind是一个多模儿童时,python,google-app-engine,google-cloud-datastore,Python,Google App Engine,Google Cloud Datastore,我有一个具有以下属性的模型: _foo = db.ListProperty(db.Key) @property def foo(self): return [db.get(f) for f in self._foo] \u foo是条键的列表,其中: class Barbie(polymodel.PolyModel): #... class Bar(Barbie): #... 但是,当调用foo中的get()时,我得到一个: KindError:种类“Bar”没有

我有一个具有以下属性的模型:

_foo = db.ListProperty(db.Key)
@property 
def foo(self):
    return [db.get(f) for f in self._foo]
\u foo
键的列表,其中:

class Barbie(polymodel.PolyModel):
    #...

class Bar(Barbie):
    #...
但是,当调用
foo
中的
get()
时,我得到一个:

KindError:种类“Bar”没有实现

我发现这个问题的答案是“你需要为这种类型导入模型”

嗯,我有。为了检查是否正常,我将
db.get
更改为
Bar.get
,得到了相同的错误。如果我删除了我的导入,很明显我得到了“全局名称栏没有定义”,所以它可以选择导入

但是,这些其他问题并不是关于多模型的,所以我尝试将我的
Bar
和兄弟模型更改为
db.model
s,具有重复的属性,而不是
PolyModel
的派生。然后,它立即起了作用

为了检查我没有更改任何其他内容,我恢复到了
PolyModel
,它立即与相同的
kinderor
中断


为什么这个
get
不适用于
PolyModel
类,而适用于
db.Model
类-根据,
PolyModel
只会添加到可用的方法中。

我这样做时它会起作用。也许你的实际代码没有完全按照你描述的那样做?嗯。我没有提到
\u foo
是一个
条码和
Barn
的列表,它们都来自
芭比娃娃。但是它在第一个(一个
,这是我用
条检查的。get