0

バッチで 2 つの新しいエンティティを保存したいと思います。ただし、一方のエンティティは他方の親です。子オブジェクトに次のようなフィールドがある場合:

@Parent 秘密鍵の親

親オブジェクトがまだ保存されていない場合 (したがって、キーがまだない場合)、子オブジェクトのこのフィールドに値を入力するにはどうすればよいですか。

4

2 に答える 2

1

親のIDを事前に割り当てます。次に、親と子 (親キー参照を使用) を 1 回のバッチ書き込みで保存できます。

于 2012-05-09T02:25:13.260 に答える
0

Yoはそのようにそれを行うことはできません(1つのバッチとして)。

質問がデータの整合性に関係している場合は、トランザクションを使用できます。例:

from google.appengine.ext import db
from app.models import ParentModel, ChildModel

class ARequestHandler(BaseHandler):
    def get(self):
        def create_parent_and_child():
            parent_entity = ParentModel(...)
            parent_entity.put()

            child_entity = ChildModel(Parent=parent_entity, ...)
            child_entity.put()


        db.run_in_transaction(create_parent_and_child)
于 2012-05-08T22:18:02.120 に答える