問題を説明しましょう。
いくつかのクラス DeleteMe を定義し、エンティティで作成します。
class DeleteMe(db.Model):
a = db.FloatProperty()
DeleteMe(key_name = '1').put()
今、それを読むことができます:
print DeleteMe.get_by_key_name('1').a
# = None
モデルを変更して新しいフィールドを追加します
class DeleteMe(db.Model):
a = db.FloatProperty()
b = db.FloatProperty()
今、それを読むことができます:
print DeleteMe.get_by_key_name('1').a
# = None and None in datastore
print DeleteMe.get_by_key_name('1').b
# = None but value b is not stored in datastore
a = None と b = None を区別し、a は保存されているが b は保存されていないという情報を取得する方法 - それ以降クエリを実行する場合は重要です。
DeleteMe.all().filter('a', None) # = 1 result
DeleteMe.all().filter('b', None) # = 0 result