【问题标题】:Store Parent/Child in a Batch Put on Appengine with Objectify使用 Objectify 在 Appengine 上批量存储父/子
【发布时间】:2012-05-08 18:33:24
【问题描述】:

我想批量存储 2 个新实体。但是,一个实体是另一个实体的父实体。如果我在子对象中有一个如下所示的字段:

@父母 私钥父

如果尚未存储父对象(因此还没有键),我如何在子对象中填写此字段的值。

【问题讨论】:

  • 您是否尝试过使用事务处理?
  • 问题仍然是我如何将它作为一批放置而不是两次调用数据存储?还是事务都是对数据存储的一次调用?

标签: java google-app-engine objectify


【解决方案1】:

提前分配parent的id。然后,您可以将父项和子项(使用父键引用)保存在一个批处理中。

【讨论】:

    【解决方案2】:

    你不能那样做(作为一批)。

    如果您的问题更关注数据完整性,那么您可以使用事务。 示例:

    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-28
      • 1970-01-01
      • 1970-01-01
      • 2014-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多