簡體   English   中英

如何徹底刪除NDB屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM