【发布时间】:2011-11-14 11:34:47
【问题描述】:
我存储了不需要的数据,因此我想清理它。我可以从数据存储迁移到 blobstore,因此至少字段 small=db.BlobProperty(default=None) 是多余的,所以我想删除它并从数据存储中的实体中删除它,因为名为“full”的变量已经具有原始图像并且名为“small”的变量是我可以从 blobstore 获得的调整大小,或者如果图像尚未迁移,我可以在内存中调整属性“full”的大小,从而删除重复和冗余数据。
但是如何从存储的实体中删除属性?我想保留这个类并将blobproperties移动到blobstore,然后删除blobproperties,所以我想我必须编写一个python脚本来迭代实体并将变量small设置为None和/或删除名为@的变量来自所有实体的 987654323@。你能建议怎么做吗?
class Image(db.Model):#migrate to blobstore
reference=db.ReferenceProperty(A,collection_name='matched_images',verbose_name="Title")
primary_image = blobstore.BlobReferenceProperty()
title=db.StringProperty(multiline=True,verbose_name="Title")
avatar=db.BlobProperty(default=None)
text=db.TextProperty(default=None)
name=db.StringProperty(default=None)
email=db.EmailProperty(indexed=False,verbose_name="Email")
name=db.StringProperty()
desc=db.StringProperty()
owner=db.UserProperty()
secret=db.StringProperty()
full=db.BlobProperty(default=None)
full_ext=db.StringProperty()
small=db.BlobProperty(default=None)
small_ext=db.StringProperty()
类似下面的东西会起作用吗?
# will DELETE the small property use /deletemodels?force=true
class DeleteSmallProperties(webapp.RequestHandler):
def get(self):
def dMsg(msg):
self.response.out.write(msg + '\n')
n = self.request.get('force')
if n:
dMsg('clearing Image.small data....')
for uc in Image.all():
uc.small = None #(?)
uc.save() #or us.put()?
dMsg('.')
如何将其删除而不是仅将其设置为无?
【问题讨论】:
标签: python google-app-engine google-cloud-datastore blob