Python sqlalchemy中高效访问集合集合的集合

Python sqlalchemy中高效访问集合集合的集合,python,sqlalchemy,flask-sqlalchemy,Python,Sqlalchemy,Flask Sqlalchemy,一般来说,我对sqlalchemy和SQL是相当陌生的。我有以下型号 class User(Base): """Stores users and their magazines""" __tablename__ = 'user' id = Column(Integer, primary_key=True) magazines = relationship('Magazine', secondary=magazine_association) class Maga

一般来说,我对sqlalchemy和SQL是相当陌生的。我有以下型号

class User(Base):
    """Stores users and their magazines"""
    __tablename__ = 'user'
    id = Column(Integer, primary_key=True)
    magazines = relationship('Magazine', secondary=magazine_association)

class Magazine(Base):
    """Stores magazines and their articles"""
    __tablename__ = 'magazine'
    id = Column(Integer,primary_key = True)
    articles = relationship('Article',cascade="save-update, merge, delete",backref='magazine',lazy='dynamic')

class Article(Base):
    """Stores article information"""
    __tablename__ = 'article'
    id = Column(Integer, primary_key = True)
    title = Column(String(240), default='Unknown Title')
    category = Column(String(40), default='Unknown category')
    rank = Column(Integer, default=0)
    #Backrefs
    magazine_id = Column(Integer,ForeignKey('magazine.id'))

magazine_association = Table('magazine_association', Base.metadata,
    Column('magazine_id',Integer,ForeignKey('magazine.id', ondelete='cascade')),
    Column('user_id',Integer,ForeignKey('user.id', ondelete= 'cascade'))
)
我正在尝试访问特定用户的所有文章。我可以遍历所有杂志,并从用户拥有的每本杂志中获取所有文章,如下所示

for mag in user.magazines:
    for art in mag.articles:
        return art.title
如果文章和杂志的数量非常多,使用“限制”和“偏移”分页的最佳方法是什么?我在创建一个查询时遇到了问题,该查询可以为我的用户获取一个可以分页的文章集合。我需要这样做,因为我正试图将其作为RESTAPI公开


谢谢你的指点。感谢您,Alchemy内置了分页支持。请参阅。

Alchemy内置分页支持。请参阅。

根据我所读的内容,可以在单个查询中调用paginate。如何将上述内容组合到单个查询中?看起来我需要在第一个集合上进行迭代。根据我所读的内容,可以在单个查询上调用paginate。如何将上述内容组合到单个查询中?看起来我需要在第一个集合上进行迭代。根据我所读的内容,可以在单个查询上调用paginate。如何将上述内容组合到单个查询中?看起来我需要迭代第一个集合。