SQLAlchemy: 延迟列可以预加载吗?
我有一个使用声明式方式创建的SQLAlchemy对象,这个对象里有一些延迟加载的列,像这样声明:
class Review(Base):
__tablename__ = 'review'
id = Column(Integer, primary_key=True)
name = Column(String(255))
large_field = deferred(Column(Text))
有时候我希望查询能够提前加载这些列,或者说“取消延迟加载”。我尝试过这样做,但查看生成的SQL输出时发现并没有什么变化。
reviews = session.query(Review).options(eagerload('large_field')).all():
那有没有办法选择性地提前加载呢?