如何配置bulkloader中的导出属性db.ListProperty(db.Key)



我开始使用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)

相关内容

  • 没有找到相关文章

最新更新