我将nicks blog示例转换为ndb 现在这条线路失败了:
self.send_blob(file_info.blob, save_as=True)
出现此错误:
ValueError: Expected BlobInfo value for blob_key_or_info.
其他课程:
class FileDownloadHandler(blobstore_handlers.BlobstoreDownloadHandler):
def get(self, file_id):
file_info = models.FileInfo.get_by_id(long(file_id))
if not file_info or not file_info.blob:
self.error(404)
return
self.send_blob(file_info.blob)
#self.send_blob(file_info.blob, save_as=True)
结果为何会改变?
答案 0 :(得分:1)
在NDB中,您必须使用ndb.BlobKeyProperty()来保存blobkey。
使用它:
class FileInfo(ndb.Model):
....
blob_ref = ndb.BlobKeyProperty()
....
file_info = models.FileInfo.get_by_id(... key_name ....)
self.send_blob(blobstore.BlobInfo.get(file_info.blob_ref), save_as=True)