2013-01-19 30 views
1

ValueError:Key()必须具有偶数个位置参数。ValueError:Key()必须具有偶数个位置参数。 Python App Engine NDB

当我尝试:

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

my = MyStorage(parent=ndb.Key('mylist'), key_name='myattr', my_attr = 'hello') 

我在做什么错?

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

如何以正确的方式持续存储MyStorage实体?

回答

5

ndb.Key() constructuctor预计对kindid值,而不是一个字符串:

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

对能够以不同的方式来指定,或者您需要提供一个urlsafe参数(这是一个网络安全,base64-编码的序列化参考)。

+0

如果如上所述,我想包括一个父母的唯一原因是一个共同的祖先,是否有一种空对象,我可以初始化它?也许:ndb.Key(Model,'mylist')? – user1561108

+0

@ user1561108:我相信只是省略了“父母”键。 –

相关问题