2011-02-26 36 views
1

我正在使用appcfg.py更新數據存儲中的實體。我上傳CSV:使用appcfg.py更新數據存儲實體重命名主鍵

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

嘗試:

- 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

+1

這是解決方案。但是,應該注意的是,當您導入一組尚未在數據庫中的數據時,您需要對導入轉換進行註釋,以便自動創建密鑰。 – 2011-02-26 20:32:12

相關問題