需求:网站活动列表需要根据活动的状态进行排序。活动的状态(state)分别等于-1,0,1,2,3。排序的顺序为1,0,3,2,-1。
解决方案:
正常order_by的倒序(desc),正序(asc)不能满足业务需求。
单个字段的不规则排序:
from sqlalchemy import case
activities = Activity.query.order_by(case(value=Actity.state, whens={1:1,0:2,3:3,2:4,-1:5})).all()
多个字段不规则排序参考order_by多种条件自定义排序。
本文介绍了一种使用SQLAlchemy实现特定字段不规则排序的方法,通过case语句自定义排序规则,满足了业务需求中对活动状态特定排序的需求。
504

被折叠的 条评论
为什么被折叠?



