从你的问题…
that the method paginate() works on baseQuery which is also Query
我认为这是您感到困惑的地方。“查询”是指SQLAlchemy
Query对象。“ baseQuery”是指Flask-
SQLALchemy
baseQuery对象,它是的子类
Query。该子类包括诸如
first_or_404()和的帮助器
paginate()。但是,这意味着
Query对象不具有该
paginate()功能。实际构建对象的方式称为“查询”对象,这取决于您处理的是
Query还是
baseQuery对象。
在此代码中,您将获得SQLAlchemy
Query对象,该对象将导致错误:
db.session.query(models.Post).paginate(...)
如果使用以下代码,则会得到所需的分页,因为您正在处理的是
baseQuery对象(来自Flask-
SQLAlchemy)而不是
Query对象(来自SQLAlchemy)。
models.Post.query.paginate(...)



