python - 如何使用flask SQLAlchemy从mysql中获取有限数量的行?
问题描述
我无法获取有限数量的行。每当我尝试它时,我总是会遇到错误。
请注意,我也在尝试对获取的有限行数进行分页。
该程序在不使用限制的情况下运行良好。它能够随机获取并分页,但是当我尝试使用 .limit() 时会出错
def question(page=1):
# questions = Question.query.paginate(page, per_page=1)
quess = Question.query.order_by(func.rand())
quest = quess.limit(2)
questions = quest.paginate(page, per_page=1)
这是我不断收到的错误...
sqlalchemy.exc.InvalidRequestError
InvalidRequestError: Query.order_by() 在已经应用了 LIMIT 或 OFFSET 的查询上被调用。要修改查询的行限制结果,请先调用 from_self()。否则,在应用 limit() 或 offset() 之前调用 order_by()。
解决方案
您不能在同一个查询中调用order_by()
after 。limit()
SQLAlchemy 不允许你这样做。在调用之前
尝试使用。from_self()
paginate()
Question.query.order_by(func.rand())
.limit(2).from_self()
.paginate(page, per_page=1)
推荐阅读
- javascript - 使用 Google Apps 脚本从电子表格中获取日期值
- asp.net - 如何从 IdentityUser 急切地加载 City .Include 方法不起作用
- javascript - d3.js svg 中 textPath 上的阿拉伯语文本在 Chrome 浏览器中被翻转
- javascript - 从 javascript 更改为 php/laravel 时,数组在后面添加 1
- php - 如何通过访问评论元数据的钩子更改 WordPress 评论输出?
- kotlin-coroutines - Kotlin - 协程通道 - 它们会阻塞调用线程吗?
- php - 调用函数array_splice php的问题
- amazon-web-services - 无法输入 aws 代码提交的凭据以跟踪本地存储库
- python-3.x - 根据输入返回 pandas groupby
- android - 反应本机应用程序图像渲染不起作用