【问题标题】:Using upload_data on Google AppEngine doesn't let me update entities with id based keys在 Google AppEngine 上使用 upload_data 不允许我使用基于 id 的键更新实体
【发布时间】:2010-06-07 18:32:06
【问题描述】:

这似乎很基本 - 我一定错过了一些东西。

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

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

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

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

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

ErrorOnTransform:目前不支持输入数字键。

有什么想法吗?

【问题讨论】:

    标签: python django google-app-engine


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。对您的建议: 1.我将不得不检查上传后功能。你有这个文档的链接吗? 2. 我有太多实体需要就地编辑。有些是新的,有些是现有的。 3.upload_data需要remote_api,所以我假设upload_data下面使用remote_api。我不熟悉remote_api的其他用途,你有什么建议?
    • “实体太多,无法就地编辑”——这是什么意思?您可以像自动修改转储一样轻松地在原地自动编辑 - 事实上更容易,尤其是使用新的映射器 API。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 2014-10-21
    相关资源
    最近更新 更多