ValueError:Key()必须具有偶数个位置参数。Python应用程序引擎NDB

ValueError:Key()必须具有偶数个位置参数。Python应用程序引擎NDB,python,google-app-engine,app-engine-ndb,Python,Google App Engine,App Engine Ndb,ValueError:Key()必须具有偶数个位置参数 当我尝试时: class MyStorage(ndb.Model): my_attr = ndb.StringProperty() my = MyStorage(parent=ndb.Key('mylist'), key_name='myattr', my_attr = 'hello') 我做错了什么 我的目标是在具有键“mylist”的父实体下存储一些MyStorage实体。我不想将任何内容附加到父级本身,也没有实例化它,但从文档

ValueError:Key()必须具有偶数个位置参数

当我尝试时:

class MyStorage(ndb.Model):
 my_attr = ndb.StringProperty()

 my = MyStorage(parent=ndb.Key('mylist'), key_name='myattr', my_attr = 'hello')
我做错了什么

我的目标是在具有键“mylist”的父实体下存储一些MyStorage实体。我不想将任何内容附加到父级本身,也没有实例化它,但从文档中我没有得到必要的印象

如何按照上面正确描述的方式持久化我的存储实体?

需要成对的
kind
id
值,而不是一个字符串:

ndb.Key(model1, id1, model2, id2, ..)
这些对可以以不同的方式指定,或者您需要提供一个
urlsafe
参数(这是一个websafe-base64编码的序列化引用)。

这些对需要
种类
id
值的对,而不是一个字符串:

ndb.Key(model1, id1, model2, id2, ..)

这些对可以用不同的方式指定,或者您需要提供一个
urlsafe
参数(这是一个websafe-base64编码的序列化引用)。

如果如上所述,我想要包含父对象的唯一原因是为了一个共同的祖先,那么我是否可以将它初始化为一种空对象?也许:ndb.Key(Model,'mylist')?@user1561108:我相信,只需省去
父项
键就行了。如果如上所述,我想要包含父项的唯一原因是为了一个共同的祖先,那么有没有一种空对象我可以初始化它?也许:ndb.Key(Model,'mylist')?@user1561108:我想,只需去掉
父项
键就行了。