バルクローダーを使用して、自己定義されたプロパティを持つモデル内のすべてのエンティティをダウンロードしたいと思います。
このようなモデルを定義すると、
class MyType:
def __init__(self, arg):
self.name = arg['name']
self.id = arg['id']
class MyProperty(db.Property):
def get_value_for_datastore(self, instance):
val = super(MyProperty, self).get_value_for_datastore(instance)
if type(val) == dict:
val = MyType(val)
return pickle.dumps(val)
def make_value_from_datastore(self, val):
return None if val is None else pickle.loads(str(val))
class MyModel(db.Model):
info = MyProperty()
次に、ファイルに選択されていない値がないようにMyModel
、バルクローダーを使用してダウンロードするにはどうすればよいですか?をbulkloader.yamlで定義する必要があると思いますが、どのようにすべきかわかりません。export_transform
info
transformers:
- kind: MyModel
connector: csv
property_map:
- property: __key__
external_name: log_id
export_transform: transform.key_id_or_name_as_string
- property: info
external_name: info
export_transform: ### HERE ###
transform.pyを見たことがありますが、それがどのように機能するかはまだわかりません。私の問題を解決できる方法を教えてください。ありがとう。