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

时间:2013-01-11 13:25:22

标签: python google-app-engine google-cloud-datastore bulkloader

我开始使用bulkLoader从Google AppEngine导出数据,并在bulkloader.yaml中配置。对于像“string”,“int”和“bool”这样的“标准”数据,这没有问题。甚至单键也很容易导出。

现在我有一些数据db.ListProperty(db.Keys),导出失败。在export_transform我试过,看到???在下面的bulkloader_config.yaml中:

知道如何导出密钥列表吗?

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.???

1 个答案:

答案 0 :(得分:0)

我必须做一点点黑客但它有效

  def prop_name_converter(obj):
    if not obj:
      return ''
    str_list = []
    for o in obj:
      str_list.append(`o`)
    return ''.join(str_list)