[英]how to cleanly remove ndb properties
在我的應用程序中,我需要刪除一些模型屬性。
我檢查了該鏈接 ,但第一個問題是性能上polymodel
並沒有辦法即時通訊沒有要切換到expando
的時間,除去性能,即時通訊甚至不舒爾如果我改變會發生什么polymodel
到一個expando
。
那么如何從現有實體中刪除屬性?
我正在考慮將所有StringProperty
設置為None
,然后將它們從模型架構中刪除並重新部署。 這些屬性之一是BooleanProperty
,我不能將此設置為None
吧? 或ndb.PickleProperty
...我應如何刪除?
有人知道如何正確完成此工作嗎?
如果要更新所有實體,建議的方法是進行映射/歸約作業,以讀取和重寫所有實體。 但是,這可能不值得,具體取決於您擁有的數據量-映射/縮小也不是免費的。
另外,請確保您在一小部分數據上測試映射/歸約作業。 從實體中真正刪除屬性非常微妙,即使該屬性不再位於模型類中也是如此! 最好的方法可能是:
if 'propname' in ent._properties:
del ent._properties['propname']
ent.put()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.