2010-06-07 28 views
2

这看起来很基本 - 我必须缺少一些东西。在Google AppEngine上使用upload_data不允许我使用基于ID的密钥更新实体

我想下载我的实体,更新一些属性,并上传实体。我使用的是Django非易失性项目,因此所有实体都以id而不是名称存储。

我可以下载实体到csv很好,但是当我上传(通过appcfg.py upload_data ...),钥匙进来的名字= ...而不是ID = ...

在配置文件,我说 -

import_transform: transform.create_foreign_key('auth_user', key_is_id=True) 

,看看这是否会作为文档转换状态,“转换键转换成整数被用作一个ID。”有了这个import_transform,我得到这个错误 -

ErrorOnTransform:此时输入不支持数字键。

任何想法?

回答

0

正如错误消息所示,当前不支持使用数字ID覆盖实体。您可以通过提供一个后续上传功能来重新创建带有相关密钥的实体,但我建议退后一步并分析为什么要这样做 - 为什么不直接更新实体App Engine,还是使用remote_api来做到这一点?进行批量下载和上传似乎是一种麻烦的处理方式。

+0

感谢您的回复。对你的建议: 1.我将不得不检查后上传功能。你有链接到这个文件? 2.我有太多的实体需要就地编辑。有些是新的,有些是现有的。 3. remote_api是upload_data所必需的,所以我假设upload_data在下面使用remote_api。我不熟悉remote_api的其他用途,你有什么建议? – Guy 2010-06-09 20:44:31

+0

“太多实体进行编辑” - 这是什么意思?您可以像自动修改转储一样方便地自动进行编辑 - 事实上,特别是使用新的mapper API时,更容易。 – 2010-06-10 09:26:12

相关问题