我开始使用bulkLoader从Google AppEngine导出数据,并在bulkLoader .yaml中配置。对于"标准"数据,如string, int和bool,这是没有问题的。甚至单个密钥也可以轻松导出。
现在我有一些数据db.ListProperty(db.Keys)
,导出失败。在export_transform我试过了,看到了吗??在bulkloader_config。yaml如下:
-
transform.key_id_or_name_as_string
-
transform.create_deep_key(('Coupon', db.Key))
-
join_list(",")
- 和许多其他来自http://googleappengine.googlecode.com/svn/trunk/python/google/appengine/ext/bulkload/transform.py
知道如何导出密钥列表吗?
datamodel.py
class Receipt(db.Model):
coupons = db.ListProperty(db.Key) # only coupon ids of approved coupons
bulkloader_config.yaml
- kind: Receipt
connector: csv
connector_options:
columns: from_header
property_map:
- property: __key__
export_transform: transform.key_id_or_name_as_string
- property: coupons
import_transform: transform.create_foreign_key('Coupon')
export_transform: transform.???
我需要做一点修改,但是它可以工作
def prop_name_converter(obj):
if not obj:
return ''
str_list = []
for o in obj:
str_list.append(`o`)
return ''.join(str_list)