我无法获取数量有限的行。每当尝试尝试时,我总是会收到错误消息。
请注意,我还试图对获取的有限行数进行分页。
该程序可以正常运行,而无需使用限制。它能够随机获取和分页,但是当我尝试使用.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()。
答案 0 :(得分:0)
在同一查询中,您不能在order_by()
之后调用limit()
。 SQLAlchemy不允许您这样做。
在致电from_self()
之前尝试使用paginate()
。
Question.query.order_by(func.rand())
.limit(2).from_self()
.paginate(page, per_page=1)