我有一个带有大blob属性的模型User.image在我的模型中有这个属性使我的查询花费太多时间并超过截止日期所以我决定将该属性移动到另一个模型 - UserData - 谁的父亲是用户.
但是,即使模型定义不再包含该属性,数据存储区中已有的现有模型实例仍包含该图像数据.
有没有从User实例中删除该数据的方法?
Fra*_*nck 12
您的问题的答案记录在此处:https://developers.google.com/appengine/articles/update_schema
从"从数据存储中删除已删除的属性"部分进行复制/粘贴:
如果从模型中删除属性,您会发现现有实体仍具有该属性.它仍将显示在管理控制台中,并仍将出现在数据存储区中.要真正清理旧数据,您需要遍历实体并从每个实体中删除数据.
- 确保已从模型定义中删除了属性.
- 如果模型类继承自db.Model,请暂时将其切换为从db.Expando继承.(db.Model实例不能动态修改,这是我们下一步需要做的.)
- 循环通过现有实体(如上所述).对于每个实体,使用delattr删除过时的属性,然后保存实体.
- 如果您的模型最初继承自db.Model,请不要忘记在更新所有数据后将其更改回来.
| 归档时间: |
|
| 查看次数: |
1563 次 |
| 最近记录: |