我更新了一个模型,其中一些实例已经存储在数据存储中。我删除了它的一些属性。
是否可以从数据存储中完全删除这些属性?
(我的意思不是将其设置为无)
问问题
665 次
2 回答
4
更改模型后,添加的新行将没有该列。现有行将继续具有该列。您应该能够使用下面给出的文章对现有数据运行更新以删除该列。
文档文章:https ://developers.google.com/appengine/articles/update_schema
于 2012-11-26T15:18:46.897 回答
1
@abel 的答案中的文章包括一些重要的相邻概念,但对于如何实际删除一列并不是很清楚。(有一些高级描述,没有代码示例。)
这里答案中的策略对我有用:https ://stackoverflow.com/a/12701172/7470370
一个更完整的例子......
from google.appengine.ext import ndb
class Model_1(ndb.Model):
propToKeep = ndb.StringProperty()
propToDelete = ndb.StringProperty()
entities = Model_1.query().fetch() # get all records
for entity in entities:
if 'propToDelete' in entity._properties:
del entity._properties['propToDelete']
entity.put()
于 2017-10-26T14:45:45.263 回答