2
我想用bulkloader下載模型中的所有實體一些自定義屬性。AppEngine bulkloader export自定義屬性
如果我這樣定義的模型,
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這樣不會有文件在未醃製的價值呢?我想我應該在bulkloader.yaml中爲info
定義export_transform
,但我不知道它應該是什麼樣子。
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但仍然不知道它是如何工作的。請告訴我可以解決我的問題的任何方法。謝謝。
你是什麼意思「這樣在文件中就不會有醃漬的價值」?你不想讓這個領域出現,或者你想讓它在那裏醃製,還是其他什麼? –
我想說的是,我希望該字段顯示在CSV中,但我希望在寫入CSV之前將其取消。目前該字段將以CSV的形式顯示爲醃漬價值。 –
未撥號的字符串是一個對象。您不能將對象輸出到文本文件,只能將其輸出到字符串表示。你想寫什麼表示文件? –