我有这段代码和all()
方法,所有其他方法都在这上面工作,我已经看了很多遍,我可以让paginate()
方法也在BaseQuery
上工作,也就是Query
@app.route('/')
@app.route('/index')
@app.route('/blog')
@app.route('/index/<int:page>')
def index(page = 1):
posts = db.session.query(models.Post).paginate(page, RESULTS_PER_PAGE, False)
return render_template('index.html', title="Home", posts=posts)
但这给了我一个错误AttributeError: 'Query' object has no attribute 'paginate'
我到处找了找,找不到解决办法。
从你的问题。。。
我想这就是你困惑的地方。”Query“引用SQLAlchemy^{} 对象BaseQuery“是指Flask SQLALchemy^{} 对象,它是} 和^{} 。但是,这意味着
Query
的一个子类。这个子类包括助手,如^{Query
对象没有paginate()
函数。如何实际构建调用“Query”对象的对象取决于您处理的是Query
对象还是BaseQuery
对象。在这段代码中,您将获得SQLAlchemy
Query
对象,这将导致错误:如果使用下面的代码,您将得到您要查找的分页,因为您处理的是
BaseQuery
对象(来自Flask SQLAlchemy),而不是Query
对象(来自SQLAlchemy)。相关问题 更多 >
编程相关推荐