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
中的BaseQuery
。BaseQuery
是Query
的子类,它有一些有用的方法,如first_or_404()和paginate()
方法,但是父类Query
是没有的,所以出现如上的错误。
3、解决方法
在查询是如果要分页或者使用如first_or_404()
这样的方法就使用BaseQuery
来查询。
网友评论