class Book(models.Model):
"""
列名
"""
class Meta:
db_table = 'book'
name = models.CharField(verbose_name="名字", max_length=32)
sort = models.IntegerField(verbose_name="排序", default=None, null=True, blank=True)
describe = models.CharField(verbose_name="描述", max_length=128, null=True)
t_name = get_json_values('t_name', body)
t_sort = get_json_values('t_sort', body)
t_id = get_json_values('t_id', body)
case = Case(
When(Q(Q(name__icontains=t_name) & Q(sort=t_sort) & Q(id=t_id)), then=1),
When(Q(Q(name__icontains=t_name) & Q(id=t_id)), then=2),
When(Q(Q(name__icontains=t_name) & Q(sort=t_sort)), then=3),
When(Q(Q(sort=t_sort) & Q(id=t_id)), then=4),
default=5,
output_field=CharField()
) books= models.Book.objects.filter(
Q(Q(name__icontains=t_name) & Q(sort=t_sort) & Q(id=t_id))|
Q(Q(name__icontains=t_name) & Q(id=t_id)) |
Q(Q(name__icontains=t_name) & Q(sort=t_sort)) |
Q(Q(sort=t_sort) & Q(id=t_id))|
Q(name__icontains=t_name)|Q(sort=t_sort)|Q(id=t_id)
).annotate(pos=case).order_by('pos')
print(books)

django模糊查询排序的更多相关文章

  1. T-SQL - query03_去重查询|模糊查询|排序|分组|使用函数

    时间:2017-09-29 整理:byzqy 本篇仍以"梁山好汉"数据表为例,介绍几个常用的 T-SQL 查询语句: 去重查询,关键字:distinct 使用通配符模糊查询,关键字 ...

  2. Django模糊查询

    https://blog.csdn.net/liuweiyuxiang/article/details/71104613 def search(request): searchtype = reque ...

  3. django ORM 增删改查 模糊查询 字段类型 及参数等

    ORM 相关 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (), gen ...

  4. oracle SQL语句练习MERGE、模糊查询、排序、

    Oracle支持的SQL指令可分为数据操作语言语句.数据定义语言语句.事务控制语句.会话控制语句等几种类型:1.数据操作语言语句数据操作语言语句(Data manipulation language, ...

  5. SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。

    top关键字:写在select后面 字段的前面 比如你要显示查询的前5条记录,如下所示: select top 5 * from Student 一般情况下,top是和order by连用的 orde ...

  6. 第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数

    第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all;  ...

  7. django中多个字段的模糊查询

    django中多个字段的模糊查询 使用Entity.objects.filter(name_contains='kris').filter(address='beijing') 这个方法是指名字包含k ...

  8. 【Django】Django中的模糊查询以及Q对象的简单使用

    Django中的模糊查询: 需要做一个查找的功能,所以需要使用到模糊查询. 使用方法是:字段名加上双下划线跟上contains或者icontains,icontains和contains表示是否区分大 ...

  9. 【mysql】 mysql 子查询、联合查询、模糊查询、排序、聚合函数、分组----------语法

    第二章 mysql 一.模糊查询 like 1. 字段 like '河北省%' %代表任何N个字符 2 字段 like '河北省____' _代表任意1个字符 二.IN 语法:SELECT 字段列1, ...

  10. angularjs实现购物车批量删除,filter模糊查询,排序

    数据源 $scope.data=[ {num:1234,name:"ipad",price:3400.00,count:10}, {num:1235,name:"ipho ...

随机推荐

  1. PageHeplper使用

    1.引入POM 1 <dependency> 2 <groupId>com.github.pagehelper</groupId> 3 <artifactId ...

  2. oracle导入dmp

    通过impdp导入 1.sqlplus       (连接oracle数据库) 2.输入用户名密码3.create user abc identified by 123456;   (创建用户名为ab ...

  3. Linux习题

    1.判断/etc/inittab文件是否大于100行,如果大于,则显示"/etc/inittab is a big file."否者显示"/etc/inittab is ...

  4. (二).JavaScript的运算符和表达式,数据类型转化

    4. 运算符和表达式 4.3 赋值运算符和表达式 1.赋值运算符 = 作用:赋值运算符就是将右边的内容赋值给左边的变量或属性. var result = 1 + 2; 2.复合赋值运算符 +=,-=, ...

  5. 用echarts做兼容ie8的三测单(体温单) 代码全

    $.fn.extend({ /** * * @param { * UrineOutputData: 尿量数据 * OutputData: 出量数据 * InputData: 入量数据 * shitDa ...

  6. Java8中Stream()流的用法总结

    简单的集合遍历 foreach遍历 import java.util.ArrayList; import java.util.List; /** * @author rx * @date 2022/6 ...

  7. springboot整合flowable-初步入门

    最近工作中有用到工作流的开发,引入了flowable工作流框架,在此记录一下springboot整合flowable工作流框架的过程,以便后续再次使用到时可以做一些参考使用,如果项目中有涉及到流程审批 ...

  8. boost编译指定python版本号

    1.执行如下 bootstrap 语句,会在目录下生成 project-config.jam 文件 .\bootstrap --with-python="C:\Users\yzy\Anaco ...

  9. OD机试题-2022.4

    import java.util.ArrayList;import java.util.Comparator;import java.util.List;import java.util.Scanne ...

  10. php 中 session存储

    转载网址: https://blog.csdn.net/miliu123456/article/details/107048378/ php 中 session 更换存储方式(file, redis, ...