Skip to main content
 首页 » 编程设计

python之在 Google AppEngine 上使用 upload_data 不允许我使用基于 id 的键更新实体

2025年05月04日22unruledboy

这看起来很基础——我一定是漏掉了什么。

我正在尝试下载我的实体、更新一些属性并上传实体。我正在使用 Django nonrel & appengine 项目,所以所有实体都存储为 id 而不是名称。

我可以很好地将实体下载到 csv,但是当我上传时(通过 appcfg.py upload_data ...), key 以 name=... 而不是 id=... 的形式出现

在配置文件中,我添加了-

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

看看这是否会像转换状态的文档那样“将 key 转换为整数以用作 ID”。使用此 import_transform,我收到此错误 -

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

有什么想法吗?

请您参考如下方法:

如错误消息所示,目前不支持使用数字 ID 覆盖实体。您可以通过提供一个上传后功能来解决它​​,该功能使用相关 key 重新创建实体,但我建议退后一步并分析您这样做的原因 - 为什么不就地更新实体App Engine,或使用 remote_api 来做到这一点?进行批量下载和上传似乎是一种麻烦的处理方式。