如何用ORM自定义排序
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 
)
如何用ORM自定义排序的更多相关文章
- mysql如何用order by 自定义排序
		mysql如何用order by 自定义排序 id name roleId aaa bbb ccc ddd eee ,MySQL可以通过field()函数自定义排序,格式:field(value,st ... 
- Java集合框架实现自定义排序
		Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优 ... 
- DataTable自定义排序
		使用JQ DataTable 的时候,希望某列数据可以进行自定义排序,操作如下:(以中文排序和百分比排序为例) 1:定义排序类型: //百分率排序 jQuery.fn.dataTableExt.oSo ... 
- 干货之UICollectionViewFlowLayout自定义排序和拖拽手势
		使用UICollectionView,需要使用UICollectionViewLayout控制UICollectionViewCell布局,虽然UICollectionViewLayout提供了高度自 ... 
- DataGridView 绑定List集合后实现自定义排序
		这里只贴主要代码,dataList是已添加数据的全局变量,绑定数据源 datagridview1.DataSource = dataList,以下是核心代码. 实现点击列表头实现自定义排序 priva ... 
- 【转】c++中Vector等STL容器的自定义排序
		如果要自己定义STL容器的元素类最好满足STL容器对元素的要求 必须要求: 1.Copy构造函数 2.赋值=操作符 3.能够销毁对象的析构函数 另外: 1. ... 
- python 自定义排序函数
		自定义排序函数 Python内置的 sorted()函数可对list进行排序: >>>sorted([36, 5, 12, 9, 21]) [5, 9, 12, 21, 36] 但 ... 
- 定制对ArrayList的sort方法的自定义排序
		java中的ArrayList需要通过collections类的sort方法来进行排序 如果想自定义排序方式则需要有类来实现Comparator接口并重写compare方法 调用sort方法时将Arr ... 
- Qt之QHeaderView自定义排序(获取正确的QModelIndex)
		简述 前几节中分享过关于自定义排序的功能,貌似我们之前的内容已经可以很好地解决排序问题了,但是,会由此引发一些很难发现的问题...比如:获取QModelIndex索引错误. 下面,我们先来实现一个整行 ... 
随机推荐
- java 周期时期计算
			package org.apple.date; import java.text.SimpleDateFormat; import java.util.Calendar; import java.ut ... 
- redis blog
			IBM 看到的blog如何 存储在redis种 var ArticleHelper = function () { this.ArticleIDSet = "AIDSet"; // ... 
- gitlab和jenkins的安装及使用
			gitlab 准备: 最少4G内存 先安装docker软件包然后使用docker search gitlab 查找镜像然后使用docker pull 镜像名:标签名 下载镜像启动容器: docker ... 
- 第三方库-时间函数dateutil
			在dateutil中,吸引我的东西有2个,1个是parser,1个是rrule. 其中parser是根据字符串解析成datetime,而rrule是则是根据定义的规则来生成datetime. 安装没必 ... 
- tcpdump工具抓到的cap文件
			一.链路层 ---> 以太网数据包 一个数据包被称为一帧, 制定这个规则的协议就是以太网协议.一个完整的以太网数据包如下图所示: 整个数据帧由首部.数据和尾部三部分组成,首部固定为14个字节 ... 
- repo 回退当前分支下所有仓库到指定日期前的最新代码版本
			回退命令: repo forall -c 'commitID=git log --before "2019-11-24 23:59" -1 --pretty=format:&quo ... 
- 25. ClustrixDB 使用sierra_stats导出概率分布
			ClustrixDB提供了导出概率分布(PDs)的能力,这可以与模式(DDL)一起用于调查查询的性能.通常,这个过程是在Clustrix支持请求时执行的.下面的部分概述了如何使用python脚本sie ... 
- List集合的方法总结
			1. 添加方法 boolean add(E e): 向集合的末尾添加指定的元素 boolean addAll(Collection<? extends E> c): 向集合的末尾添加一个指 ... 
- 51 Nod 1242 矩阵快速幂求斐波那契数列
			#include<bits/stdc++.h> #define mod 1000000009 using namespace std; typedef long long ll; type ... 
- CF contest 1216 Div3. F
			题目链接:Click here Solution: 看起来是贪心,其实不然... 我们定义\(f[i]\)表示仅覆盖\(1\sim i\)所需要的最小代价,那么对\(i\)为0的点来说,易得\(f[i ... 
