这可能是最愚蠢的问题,我为此道歉,但我很困惑
我有以下实体:
class Profile(ndb.Model):
name = ndb.StringProperty()
identifier = ndb.StringProperty()
pic = ndb.BlobKeyProperty() # stores the key to the profile picture blob
我想删除上述实体的“pic”属性值,以便它看起来像“pic”从未被赋予任何值一样新鲜。我不打算删除整个实体。以下方法是否正确:
qry = Profile.query(Profile.identifier==identifier)
result_record_list = qry.fetch()
if result_record_list:
result_record_list[0].pic.delete() # or result_record_list[0].pic = none # or undefined or null
我将分别删除此blob键引用的实际blob
答案 0 :(得分:3)
为其分配None并将其放回数据存储区。
result_record_list[0].pic = None
result_record_list[0].put()
答案 1 :(得分:1)
数据存储区是OO无模式数据库。因此,您可以在Kind(ndb.Model)中添加和删除属性,而无需更新架构。
如果您还想清理实体,请查看this anwser from Guido