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 
)

最新文章

  1. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)
  2. 【转】nginx+iis实现负载均衡
  3. BZOJ 1112: [POI2008]砖块Klo
  4. Python sorted函数对列表排序
  5. iOS-Runtime-Headers
  6. Java数据类型简单认识
  7. Session对象的集合
  8. 超强的ACM题目类型总结
  9. Web的鼠标拖动效果
  10. C#总结(3)
  11. Swift - 使用表格组件(UITableView)实现单列表
  12. [UWP小白日记-9]页面跳转过度动画(二)
  13. python2.7练习小例子(三)
  14. 什么是网络套接字(Socket)?
  15. c#之AES加密解密
  16. winform checkedlistbox 设置行颜色
  17. vue_drf之多级过滤、排序、分页
  18. 从零开始学安全(二十六)●利用Nmap目标的本版进行探测
  19. zookeeperclient代码解读
  20. css纯字母或者字母换行显示

热门文章

  1. SQL 优化SQL查询
  2. 深入简出mysql--第一部分
  3. 判断页面是在移动端还是PC端打开的
  4. airflow介绍
  5. vue iOS上传图片file 出错
  6. hiho #1469 : 福字(dp)
  7. 赋值语句C++(面宝P29)
  8. 在vue2.0中使用bootstarpTable(jquery+bootstarp+bootstarpTable)
  9. sqlserver字段选择参照
  10. 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置