gpt4 book ai didi

python - 如何干净地删除 ndb 属性

转载 作者:太空狗 更新时间:2023-10-29 17:23:20 27 4
gpt4 key购买 nike

在我的应用中,我需要删除一些模型属性。
我检查了this link但第一个问题是属性在 polymodel 上,我暂时无法切换到 expando 来删除属性,我什至不确定如果我将 polymodel 更改为 expando 会发生什么。

那么如何从现有实体中删除属性?

我正在考虑将所有 StringProperty 设置为 None,然后从模型架构中删除它们并重新部署。其中一个属性是 BooleanProperty,我不能将它设置为 None 对吗?!或 ndb.PickleProperty...我应该如何删除它?

有人知道如何正确地完成这项工作吗?

最佳答案

如果您想更新所有实体,推荐的方法是读取和重写所有实体的 map/reduce 作业;然而,这可能不值得,具体取决于您拥有多少数据——map/reduce 也不是免费的。

还要确保在一小部分数据上测试 map/reduce 作业。从实体中真正删除一个属性是非常微妙的,即使它不再在模型类中!最好的方法可能是:

if 'propname' in ent._properties:
del ent._properties['propname']
ent.put()

关于python - 如何干净地删除 ndb 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12694569/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com