Обновление сущностей хранилища данных с помощью appcfg.py переименовывает первичный ключ - PullRequest
1 голос
/ 26 февраля 2011

Я использую appcfg.py для обновления сущностей в моем хранилище данных.Я загружаю csv:

Name,Type
Jim,2
Bob,4

Затем я смотрю в хранилище данных и отмечаю, что поле первичного ключа для этих объектов имеет вид " id = # ".Затем я загружаю этот тип хранилища данных с помощью appcfg.py, он выглядит так:

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

Я изменяю поле Тип и загружаю его снова.Результатом является дублированный набор записей, где теперь первичный ключ имеет форму " name = # ".Просматривая мой config.yaml, вот соответствующая запись для ключа:

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

Я просто хочу обновить существующие сущности хранилища данных, как мне это сделать?

1 Ответ

1 голос
/ 26 февраля 2011

попробовать:

- 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

...