3

parent keyMapReduce を使用していくつかのエンティティに を追加したいと思います。私が正しく理解していれば、キーは編集できないためできません。しかし、このコードでエンティティごとに新しいものを作成しようとすると:

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 は「parent」という名前のプロパティを作成します。MapReduce は ndb キー クラス インスタンスを管理できないようです。ハンドラーのメソッドでndbを使用mapreduce.input_readers.DatastoreKeyInputReaderして変換しfrom_old_key()ます。新しいndbキーを作成する必要がある場合を除いて、常に機能します。

4

1 に答える 1