asc*_*d00 13 python google-app-engine polymodel app-engine-ndb
在我的应用程序中,我需要删除一些我的模型属性.
我检查了该链接,但第一个问题是,性能上polymodel并没有这样的IM没有要切换到expando的时间,除去性能,即时通讯甚至不舒尔会发生什么,如果我换polymodel一个expando.
那么如何从现有实体中删除属性?
我正在考虑将所有内容设置StringProperty为None然后从模型架构中删除它们并重新部署.其中一个属性是a BooleanProperty,我不能把这个设置为None对吗?!或者ndb.PickleProperty...我应该如何删除它?
有人知道如何正确完成这项工作吗?
Gui*_*sum 34
如果要更新所有实体,推荐的方法是读取和重写所有实体的map/reduce作业; 但是它可能不值得,取决于你有多少数据 - map/reduce也不是免费的.
还要确保在一小部分数据上测试map/reduce作业.真正从实体中删除属性是非常微妙的,即使它不再在模型类中!最好的方法可能是:
if 'propname' in ent._properties:
del ent._properties['propname']
ent.put()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3970 次 |
| 最近记录: |