我想parent key
在一些使用 MapReduce 的实体中添加一个。如果我理解正确,我不能因为密钥不可编辑。但是,如果我尝试使用以下代码为每个实体创建一个新实体:
a = Analisi(parent=new.key,
computo=cme.key,
voce=new.key)
a.put()
我得到这个错误:Analisi() got an unexpected keyword argument 'parent'
。如果我尝试分配一个字符串 ID,同样的事情。我错过了什么?
更新:
class Analisi(ndb.Model):
computo = ndb.KeyProperty(kind=ComputoMetrico)
voce = ndb.KeyProperty(kind=VoceComputo)
如果我切换到 Expando,我不会收到以下错误,但 Mapreduce 创建了一个名为“父”的属性。似乎 MapReduce 无法管理 ndb 键类实例。我在处理程序中使用mapreduce.input_readers.DatastoreKeyInputReader
并转换为 ndb withfrom_old_key()
方法:始终工作,除非它必须创建新的 ndb 键。