0

我有一个简单的模型,我通常使用默认父键创建其实例(父级不是真实模型)。这与GAE 教程中描述的方法相同

def simple_parent_key():
    return db.Key.from_path('simple', 'pathsimple')

class Simple(db.Model):
    """Basic simple model"""
    name = db.StringProperty()

我通常在这样的发布请求中创建一个对象:

class AddSimple(webapp2.RequestHandler):
    def post(self):
        simple = Simple(parent=simple_parent_key())
        simple.name = self.request.get('name')

现在我想使用 GAE 的批量上传方法添加一些对象。问题是,我没有找到为批量上传指定父/祖先键的方法。对象将在没有父对象的情况下创建,并且所有使用父键的查询都不会返回这些新对象。从而打破一致性。

有没有办法在批量上传文件中指定父键?

这是 bulkloader.yaml 文件的一部分:

transformers:
- kind: Simple
  connector: csv
  property_map:
    - property: name
      external_name: name

上传工作正常,但没有任何父键,这是我想要的。

欢迎任何提示。

4

1 回答 1

0

使用 create_deep_key 创建带有父元素transform.create_deep_key的键。使用它有点棘手。我已成功创建父键,使用 xml 而不是 csv

以下是 bulkloader.yaml 中属性键的示例:

     - property: __key__ 
       external_name: key
       import_transform: transform.create_deep_key(('parentKind', 'parentKeyName'),
                                                   ('entityKind', transform.CURRENT_PROPERTY))

希望能帮助到你...

于 2013-04-24T18:13:02.210 回答