我有一个简单的模型,我创建的实例通常使用默认的父键(父项不是真正的模型)。这与GAE tutorial
中描述的方法相同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
上传工作正常,但没有任何父键,这就是我想要的。
欢迎任何提示。
答案 0 :(得分: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))
希望它有所帮助...