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,否则它将是一个简单的字符串。 现在在你的情况是不同的,因为你使用密钥替换数据,我没有这方面的经验。 –
是的,'类别'应该被种类的名称取代。它完美的工作!谢谢!! –