我无法获取有限数量的行。每当我尝试时,我总是会收到错误。
请注意,我还尝试对获取的有限行数进行分页。
程序在不使用限制的情况下运行良好。它能够随机获取并分页,但当我尝试使用 .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:在已应用 LIMIT 或 OFFSET 的查询上调用 Query.order_by()。要修改查询的行限制结果,请首先调用 from_self()。否则,在应用 limit() 或 offset() 之前调用 order_by()。
最佳答案
您不能在同一查询中的 limit()
之后调用 order_by()
。 SQLAlchemy 不允许您这样做。
在调用 paginate()
之前尝试使用 from_self()
。
Question.query.order_by(func.rand())
.limit(2).from_self()
.paginate(page, per_page=1)
关于python - 如何使用 Flask SQLAlchemy 从 mysql 获取有限数量的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55646434/