2013-01-19 29 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:我相信只是省略了「父母」鍵。 –

相關問題