【问题标题】:How to read, update, delete entities in Google App Engine NOT models (ndb.Model or db.Model)?如何读取、更新、删除 Google App Engine NOT 模型(ndb.Model 或 db.Model)中的实体?
【发布时间】:2015-08-17 09:44:37
【问题描述】:

我想从数据存储中读取、转换和删除一些没有 ndb.Model 或 db.Model 类的实体。当我用 GQL 尝试它时,它会导致:

KindError: No implementation for kind 'SomeModel'

我不想创建“SomeModel”类,因为它会创建冗余类我只想将“SomeModel”转换为“SomeModelDifferentName”并删除旧模型。我该怎么做?

【问题讨论】:

  • 查看我对您的其他问题 (stackoverflow.com/questions/32046465/…) 的回答,您可以在其中覆盖 classmethod _get_kind()。这可以提供帮助。我过去使用的一个技巧是在/_ah/stats/shell 启用交互式控制台(appstats),并输入一个临时的ndb.Model 子类,并使用您需要的种类名称。这也适用于处理部署代码中可能存在或不存在的字段。

标签: python-2.7 google-app-engine google-cloud-datastore app-engine-ndb google-app-engine-python


【解决方案1】:

看看这个涵盖模型迁移的答案。它展示了如何在不创建模型的情况下从数据存储中获取底层实体。

Migrating data when changing an NDB field's property type

它现在有点老了,但基本面没有太大变化。如果您有

【讨论】:

  • 我将阅读如何使用数据存储 api - 也许其中有查询选项 - 看起来很有希望,但未检查。
猜你喜欢
  • 2011-04-20
  • 2013-09-27
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-25
  • 1970-01-01
  • 2014-03-20
相关资源
最近更新 更多