一部のインスタンスがすでにデータストアに保存されているモデルを更新しました。そのプロパティのいくつかを削除しました。
これらのプロパティをデータストアから完全に削除することは可能ですか?
(Noneに設定するという意味ではありません)
2 に答える
4
モデルを変更した後、追加された新しい行には列がありません。既存の行には引き続き列があります。以下の記事を使用して、既存のデータに対して更新を実行し、その列を削除できるはずです。
ドキュメントの記事:https ://developers.google.com/appengine/articles/update_schema
于 2012-11-26T15:18:46.897 に答える
1
@abelの回答の記事には、隣接する重要な概念がいくつか含まれていますが、実際に列を削除する方法についてはそれほど明確ではありません。(いくつかの高レベルの説明があり、コード例はありません。)
ここでの答えの戦略は私のために働いた:https ://stackoverflow.com/a/12701172/7470370
より完全な例...
from google.appengine.ext import ndb
class Model_1(ndb.Model):
propToKeep = ndb.StringProperty()
propToDelete = ndb.StringProperty()
entities = Model_1.query().fetch() # get all records
for entity in entities:
if 'propToDelete' in entity._properties:
del entity._properties['propToDelete']
entity.put()
于 2017-10-26T14:45:45.263 に答える