1
我正在使用GAE的高複製數據存儲。我以前使用該下載的表格以CSV:將CSV上載到GAE數據存儲
appcfg.py download_data --application=<your_app_id> --kind=<kind> --url=http://your_app_id.appspot.com/[remote_api_path] --filename=<data-filename>
現在,我做了一些修改成CSV文件,我要上傳它來代替在線數據。所以我用這個:
appcfg.py upload_data --config_file=bulkloader.yaml --filename=<data-filename> --kind=<kind> --url=http://your_app_id.appspot.com/[remote_api_path]
這成功上傳的數據,但問題是,現在所有新上傳的鍵(包括引用)是這樣的:中name=99764
代替id=99764
GAE沒認識到兩者是相同的東西,所以它不會替代那些東西,它增加了新的東西。但現在參考文獻已被打破。
在bulkloader.yaml
,我有這樣的:
- kind: Kind
connector: csv
connector_options:
# TODO: Add connector options here--these are specific to each connector.
property_map:
- property: __key__
external_name: key
export_transform: transform.key_id_or_name_as_string
這是部分:transform.key_id_or_name_as_string
導致的嗎?如果是這樣,那我該如何解決它?
它應該是'import_transform:transform.create_foreign_key('key',key_is_id = True)'或者我應該將'key'更改爲Kind的名稱?因爲在自動生成的是這樣的:import_transform:transform.create_foreign_key('Topic')。所以看起來我應該把這個名字放在'鑰匙' 的地方,但奇怪的是這兩個工作,我擔心可能有一些我錯過了,可能會導致問題後來 –
' - 屬性: category/import_transform:transform.create_foreign_key('Category',key_is_id = True)' '大寫的'Category'是屬性'category'引用的Model。在csv文件中,我有一個類似'123456'的字符串,而在數據存儲中,類別類別的ID是'123456'。 通過這種方式,GAE將reference屬性關聯到相對Kind,否則它將是一個簡單的字符串。 現在在你的情況是不同的,因爲你使用密鑰替換數據,我沒有這方面的經驗。 –
是的,'類別'應該被種類的名稱取代。它完美的工作!謝謝!! –