使用appcfg.py更新数据存储区实体会重命名主键

时间:2011-02-26 02:28:08

标签: java google-app-engine google-cloud-datastore

我正在使用appcfg.py更新数据存储区中的实体。我上传了一个csv:

Name,Type
Jim,2
Bob,4

然后我查看数据存储区并注意这些实体的主键字段的格式为“ id =#”。然后,我使用appcfg.py下载此数据存储区类型,它显示为:

Name,Type,id
Jim,2,10001
Bob,4,10002

我修改了Type字段并再次上传。结果是一组重复的条目,其中主键的形式为“ name =#”。查看我的config.yaml,这是密钥的相关条目:

 property_map:
    - property: __key__
      external_name: id
      export_transform: transform.key_id_or_name_as_string

我只是想更新现有的数据存储区实体,我该如何实现?

1 个答案:

答案 0 :(得分:1)

尝试:

- property: __key__ 
  external_name: key 
  export_transform: transform.key_id_or_name_as_string 
  import_transform: transform.create_foreign_key('YourKind', key_is_id=True) 

http://groups.google.com/group/google-appengine/browse_thread/thread/3f211d42cf544c1a/4659a30b9380ab8a?lnk=gst&q=key_id_or_name_as_string#4659a30b9380ab8a