使用Pyramid我尝试用BLOB列的内容作出回应。不幸的是,SQLAlchemy将BLOB的内容作为字节数组加载到内存中。有没有办法以流的形式访问BLOB?
我的模型看起来像这样:
class Image(Base):
id = Column(Integer, primary_key=True)
content = deferred(Column(BLOB))
我尝试在像这样的金字塔视图中访问它
@view_config(route_name='myroute', request_method='GET')
def get_image(request: Request):
image = DBSession.query(Image).get(1)
resp = Response(content_type='image/jpeg')
# in this line SQLAlchemy loads the full content
resp.body = user.image.content
return resp
有没有办法将BLOB放入resp.app_iter?