当前位置: 首页 > 面试题库 >

Flask SQLAlchemy分页错误

燕砚文
2023-03-14
问题内容

我有这样的代码和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' 到处都是的错误,我找不到任何解决方案。


问题答案:

从你的问题…

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(...)


 类似资料:
  • 我尝试用木偶器生成pdf文件。它对一个页面很好,但当我尝试生成多页pdf文档时,我有一个bug的分页符。HTML模板用于下面生成。拜托,能帮我就帮我。复制的前提条件:以100%的高度填充第一页,并为下面的块添加标题。 HTML模板 生成PDF Bug在此输入图像描述

  • 对,第一次使用分页,无法使其在第一页之外工作(404错误)。这一切似乎都围绕着$offset变量展开,就好像我将offset的变量更改为整数(如15),它会在第一页上显示从第15行开始的结果-但是$offset- 控制器: 型号: URL(首页): URL(第二页): 我做错了什么? 虽然这与错误无关,但请查看:

  • 我的页面正在成功加载智能表js,但是当我尝试使用分页功能(如留档所示)时,我收到以下错误 和 我不确定我做错了什么,但下面是我的代码。任何帮助都会很好!谢谢

  • 我在Spring MongoRepository上有一个简单的分页请求,但MongoRepository显然在某个任意的高页面#之后开始发送不正确的结果。我在这里发帖是想知道我是否遗漏了什么,或者这可能是Spring MongoRepository的一个bug。 在我的测试中,我的测试mongo db中有14个元素,下面的分页请求工作良好(如果数据在那里,则检索数据):但是下面的PageReque

  • 我使用了spring boot(1.3.5)、spring-data、spring-data-jpa、JPA(hibernate/hsqldb)。 代码: 控制器: 我试着 也是,但不起作用。 浏览器输出: SQL无效!额外的“:”和重复的“ASC ASC”。 控制台输出:

  • 在我的Wordpress自定义主题中,一个分页,在加载上面1的页面时给出404错误。我已经检查了Permalink和其他东西,但没有scuccess。 请帮我脱掉。 这是我的密码。