SQLAlchemy中的列延迟加载

18

在SQLAlchemy中,是否可以延迟加载某一列?我有一个大的BLOB列通常会使用,但在某些情况下,我不想加载这个特定的列(同时我希望有ORM对象)。是否可以在不添加单独表的情况下实现这一点?

可以在SQLAlchemy中使用deferred属性来延迟加载某一列。这样可以在不加载该列的情况下创建ORM对象。如果需要加载被延迟的列,可以使用load()方法来强制加载。此外,不需要添加单独的表来实现延迟加载。
1个回答

21
class Book(Base):
    __tablename__ = 'books'

    book_id = Column(Integer, primary_key=True)
    title = Column(String(200), nullable=False)
    summary = Column(String(2000))
    excerpt = deferred(Column(Text))
    photo = deferred(Column(Binary))

延迟加载列


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接