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

Name,Type
Jim,2
Bob,4


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

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


我修改“类型”字段,然后再次上传。结果是一组重复的条目,其中主键现在的格式为“名称=#”。查看我的config.yaml,这是密钥的相关条目:

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


我只想更新现有的数据存储区实体,如何做到这一点?

最佳答案

尝试:

- 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

关于java - 使用appcfg.py更新数据存储区实体会重命名主键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5124671/

10-10 21:50