Python 数据库模型中的Google应用程序引擎更新模式
我正在向现有数据存储模型添加新属性。我需要用新模式的数据更新现有模式。我已经检查了谷歌的文档,它使用ndb模型 我有这样一个DB模型:Python 数据库模型中的Google应用程序引擎更新模式,python,google-app-engine,schema,Python,Google App Engine,Schema,我正在向现有数据存储模型添加新属性。我需要用新模式的数据更新现有模式。我已经检查了谷歌的文档,它使用ndb模型 我有这样一个DB模型: class oldModel(db.Model): name = db.StringProperty(default = "") author = db.StringProperty(default = "") created = db.DateTimeProperty(auto_now_add = True) 我的新模式是: c
class oldModel(db.Model):
name = db.StringProperty(default = "")
author = db.StringProperty(default = "")
created = db.DateTimeProperty(auto_now_add = True)
我的新模式是:
class oldModel(db.Model):
name = db.StringProperty(default = "")
author = db.StringProperty(default = "")
created = db.DateTimeProperty(auto_now_add = True)
# new field
category = db.IntegerProperty(default = 0)
你是怎么做到的?(我想到的一件事是使用不同的名称包含新模式,并手动将数据从旧模式填充到新模式,然后删除旧模式)添加属性非常容易。只需将其添加到您的模型中。对于以前存在的任何实体,它们将具有默认值。如果以前存在的实体需要为新属性指定不同的值,则必须对它们进行迭代,并将新属性设置为所需的值。添加属性非常容易。只需将其添加到您的模型中。对于以前存在的任何实体,它们将具有默认值。如果以前存在的实体需要为新属性设置不同的值,则必须对它们进行迭代,并将新属性设置为所需的值。我只是向实体添加一个新属性。添加此模型时,是否会使用默认值填充旧模式数据?或者旧模型没有这个属性就存在?我只是在实体中添加一个新属性。添加此模型时,是否会使用默认值填充旧模式数据?或者旧模型没有这个属性就存在?