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. 负数位运算的右移操作-C语言基础

    这一篇探讨的是"负数位运算的右移操作",涉及到数据的源码.反码.补码的转换操作.属于C语言基础篇. 先看例子 #include <stdio.h> int main(v ...

  2. 手机设置网络代理后,网络不可用之app-jmeter性能测试

    1.检查crt证书是否安装 (手机) 2.Jmeter设置HTTP代理端口和ip与手机设置代理参数一致即可

  3. elasticsearch开发学习及踩坑实录

    1.elasticsearch7.+需要jdk11 / elasticsearch6.+需要jdk8 , 如果是Java开发的同学本地开发使用jdk8 , 可以下载一个解压版的jdk11 , 然后修改 ...

  4. loadrunner添加头部

    web_add_auto_header("token_id", "{token_id}"); 或 web_add_header("token_id&q ...

  5. eclipse console 控制台输出乱码解决办法

    一.console输出日志显示乱码 二.在类编辑处点击右键 Run As --> Run Configurations 三.在Common中设置字符集 gbk 四.restart 搜索 复制

  6. 01.html大致主体格式

    <!DOCTYPE html> 不是HTML标签,就是文档声明标签 告诉浏览器使用哪种html版本来显示网页,其必须在文档中的最前面位置,要放在<html>标签之前, < ...

  7. File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent

    IDEA编译报以下错误 File encoding has not been set, using platform encoding UTF-8, i.e. build is platform de ...

  8. flask orm 操作方法

    数据库操作 常用的查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit() 使用指定的值限 ...

  9. vue项目 运行内存溢出

    运行vue项目报错,内存溢出!!! <--- Last few GCs ---> [10400:00000218A86135D0] 173902 ms: Mark-sweep (reduc ...

  10. echart 解决setOption线残留

    前言: Antd + echarts 我想要实现的是点击表的某一行自动生成对应的折线图,我在点击第一行生成5条线,我在点击第二行的时候,本该生成2条线,结果还是5条线: 最开始我以为设置的 serie ...