如何用ORM自定义排序
2024-09-01 03:16:42
ORM连接的数据库不同,方法也不同
postgresql:
a.extra(select={"new_order":"position(status in '2,3,4,1')"}).order_by("new_order")
a是queryset对象,new_order 是新的自定义的字段名,status是排序的字段,“2,3,4,1”是你自定义的顺序,也可以是字符串类型
mysql:
a.extra(select={"new_order":'field(status,"2,3,4,1")'}).order_by("new_order")
规则类似,但有所区别,这是我自己探索出来的,希望对大家有所帮助
如果写sql 的话就很简单
select * from alert
order by(
case class
when '2' then 1,
when '3' then 2,
when '4' then 3,
when '1' then 4
else ''
end
)
最新文章
- 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)
- 【转】nginx+iis实现负载均衡
- BZOJ 1112: [POI2008]砖块Klo
- Python sorted函数对列表排序
- iOS-Runtime-Headers
- Java数据类型简单认识
- Session对象的集合
- 超强的ACM题目类型总结
- Web的鼠标拖动效果
- C#总结(3)
- Swift - 使用表格组件(UITableView)实现单列表
- [UWP小白日记-9]页面跳转过度动画(二)
- python2.7练习小例子(三)
- 什么是网络套接字(Socket)?
- c#之AES加密解密
- winform checkedlistbox 设置行颜色
- vue_drf之多级过滤、排序、分页
- 从零开始学安全(二十六)●利用Nmap目标的本版进行探测
- zookeeperclient代码解读
- css纯字母或者字母换行显示