3

我对更改 db.Model 模式的理解是,如果您添加一个属性然后尝试获取没有该属性的旧实体,这“无关紧要”。

实际上,将以下属性添加到我SiteUser在 dev_server 上运行的 db.Model 中:

category_subscriptions = db.StringProperty()

仍然允许我检索没有此属性的旧 SiteUser 实体(通过 GQL 查询)。

但是,将属性更改为列表属性(StringListProperty、ListProperty 之一):

category_subscriptions = db.StringListProperty()

当我尝试检索用户时导致以下错误:

BadValueError: Property category_subscriptions is required

这是在 SDK 开发服务器版本 1.7.4 上。为什么会这样,我将如何解决它?

4

1 回答 1

0

这是我让它在 dev_server 上运行的解决方法:

1)在生产中更新您的模型并部署它

2) 使用appcfg.py download_data并获取您已更新类型的所有实体

3) 使用appcfg.py upload_data所有实体并将其推送到本地数据存储中

瞧.. 您的本地数据存储实体现在可以在不生成的情况下检索BadValueError

于 2013-01-18T15:05:09.240 回答