我在按Author.likes
或Author.views
排序作者时遇到问题。
让我先告诉你我的代码片段:
views.py
from sqlalchemy import func
@app.route('/authors/')
def authors():
page = request.args.get('page', 1, type=int)
pagination = Author.query.order_by(func.count(Author.likes)).paginate(page, per_page=app.config['AUTHORS_PER_PAGE'], error_out=False)
这里使用func.count()函数对按likes
排序的作者进行排序。
问题是我得到的是最受欢迎的作者,事实上我在数据库中有12个人都有自己喜欢的作品,所以我需要将他们全部按照从最高到最低的喜欢进行排序。
我尝试了不同的方法,但没有用,请求任何帮助!
答案 0 :(得分:1)
删除func.count
,只需按Author.likes
排序,它已经算了。 func.count
用于计算事物的数量。目前,您将所有内容分组到一个组中,因此您只能获得一个项目。