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

时间:2013-01-19 16:03:45

标签: 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')

我做错了什么?

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

如何以上述方式正确保存MyStorage实体?

1 个答案:

答案 0 :(得分:5)

ndb.Key() constructuctor期望成对kindid值,而不是一个字符串:

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

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