首页 > 其他分享 >django模糊查询排序

django模糊查询排序

时间:2023-02-14 18:45:48浏览次数:40  
标签:sort __ name models 查询 django icontains 排序 id



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)

 

标签:sort,__,name,models,查询,django,icontains,排序,id
From: https://www.cnblogs.com/moon3496694/p/17120569.html

相关文章

  • json查询
    json查询procedureTFunc1549.select(req,res:TSerialize);vardb:tdb;pool:tdbpool;jo:variant;begintrytrypool:=GetDBPool('1');......
  • 项目编码信息查询工具
    UI界面作为主入口#coding:utf8#!/usr/bin/envpython#@author:9527importwximportPicturepackageUIimportQueryProjectCodeListimportProjectNumberManager......
  • TDengine 3.0.2.5 查询再优化!揭秘索引文件的工作原理
    TDengine 3.0虽然对底层做了大规模的优化重构,但是相对于数据文件的工作逻辑和2.0相比是整体保持不变的。本系列文章的主旨在于帮助用户深入理解产品,并且拥有基本的性......
  • P1177 【模板】快速排序
    P1177【模板】快速排序快速排序模板1#include<iostream>2#include<cstring>3usingnamespacestd;4inta[100010],n;5intt[100010];6voidmsort(in......
  • golang 排序
    排序都使用数组进行元素的保存1.冒泡排序。冒泡排序,从左到右,把后一个元素与前一个元素做比较,小的往前移位。1)一共会经过arr.length-1次的轮数比较,每一轮会确定一个数的......
  • Mysql查询所有表+字段
    先上代码SELECTt1.TABLE_SCHEMA,t1.TABLE_NAME,t2.TABLE_COMMENT,t1.COLUMN_NAME,t1.COLUMN_COMMENT,t1.COLUMN_TYPEFROMinformation_schema.COLUMNSt1innerj......
  • 顺序表应用6:有序顺序表查询(SDUT 3330)
    ProblemDescription顺序表内按照由小到大的次序存放着n个互不相同的整数,任意输入一个整数,判断该整数在顺序表中是否存在。如果在顺序表中存在该整数,输出其在表中的序......
  • 基于Django开发的小型超市收银系统及各种炒股指标信息
    登录页面注册忘记密码诗词推荐展示登录  首页今天收益信息日收益趋势图商品热度Top15商品预警Top5待办任务Top5诗词推荐Top5 超市收银系统......
  • TreeMap实现排序
    TreeMapTreeMap实现SortMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序,也可以指定排序的比较器。当用Iterator遍历TreeMap时,得到的记录是排过序的。TreeMap取......
  • TreeMap是按照key的字典顺序来排序
    一、TreeMapTreeMap默认排序规则:按照key的字典顺序来排序(升序)字典排序(lexicographicalorder)是一种对于随机变量形成序列的排序方法。即按照字母顺序,或者数字小大顺序,由小......