Flask-SQLAlchemy分页Query无paginate属性

1、问题

在使用Flask-sqlalchemy的分页时,遇到如下情况:
我的代码

invites = db.session.query(InviteMessage, User.username). \
                join(User, User.id == InviteMessage.sender_id). \
                filter(InviteMessage.receiver_id == user_id).paginate(page,
          per_page=Config.FLASKY_RECORDS_PER_PAGE,error_out=False)

出现如下的错误:

AttributeError: 'Query' object has no attribute 'paginate'
2、原因

Query指的是SQLAlchemy中的Query,BaseQuery指的是Flask-SQLALchemy中的BaseQueryBaseQueryQuery的子类,它有一些有用的方法,如first_or_404()和paginate()方法,但是父类Query是没有的,所以出现如上的错误。

3、解决方法

在查询是如果要分页或者使用如first_or_404()这样的方法就使用BaseQuery来查询。

你可能感兴趣的:(Flask-SQLAlchemy分页Query无paginate属性)