python Django中models进行模糊查询的示例


Posted in Python onJuly 18, 2019

多个字段模糊查询, 括号中的下划线是双下划线,双下划线前是字段名,双下划线后可以是icontains或contains,区别是是否大小写敏感,竖线是或的意思

#搜索功能
@csrf_exempt#使用@csrf_exempt装饰器,免除csrf验证
def search_testCaseApi(request):
  if request.method == 'POST':
    name = request.POST.get('task_name')
    updateUser=request.POST.get('task_updateUser')
    if name=="" and updateUser=="":
      obj_all = tnw_test_case_api.objects.filter(del_flag=0)
    elif name!="" and updateUser=="":
      obj_all = tnw_test_case_api.objects.filter(del_flag=0,case_name__contains=name)
    elif name=="" and updateUser!="":
      obj_all = tnw_test_case_api.objects.filter(del_flag=0,update_user__contains=updateUser)
    else:
      obj_all = tnw_test_case_api.objects.filter(del_flag=0,case_name__contains=name,update_user__contains=updateUser)
    ApiCasesList = []
    for li in obj_all:
      need_interfacename = allFunction().get_interfaceName(li.id)
      api_list, api_sum = allFunction().testIDConnect_needid(li.id)
      if li.case_module is not None:
        ApiCasesList.append({
          "testCaseApi_id": li.id,
          "testCaseApi_name": li.case_name,
          "testCaseApi_sum": api_sum,
          "testCaseApi_version": li.case_version,
          "testCaseApi_module": li.case_module,
          "testCaseApi_need_interfacename": need_interfacename,
          "testCaseApi_createTime": str(li.create_time),
          "testCaseApi_updateTime": str(li.update_time),
          "testCaseApi_updateUser": li.update_user,
        })
      else:
        ApiCasesList.append({
          "testCaseApi_id": li.id,
          "testCaseApi_name": li.case_name,
          "testCaseApi_sum": 1,
          "testCaseApi_version": li.case_version,
          "testCaseApi_module": li.case_module,
          "testCaseApi_need_interfacename": need_interfacename,
          "testCaseApi_createTime": str(li.create_time),
          "testCaseApi_updateTime": str(li.update_time),
          "testCaseApi_updateUser": li.update_user,
        })
    # 将int类型使用dumps()方法转为str类型
    ApiCasesList_len = json.dumps(len(ApiCasesList))
    # 构造一个字典
    json_data_list = {'rows': ApiCasesList, 'total': ApiCasesList_len}
    # dumps()将字典转变为json形式,
    easyList = json.dumps(json_data_list)
    # 将json返回去,json的键值对中的键需要与前台的表格field=“X”中的X名称保持一致)
    return HttpResponse(easyList)

以上这篇python Django中models进行模糊查询的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pycharm 使用心得(七)一些实用功能介绍
Jun 06 Python
详解Python中break语句的用法
May 14 Python
深入学习Python中的装饰器使用
Jun 20 Python
Python实现的计算器功能示例
Apr 26 Python
Window 64位下python3.6.2环境搭建图文教程
Sep 19 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
Django REST Framework序列化外键获取外键的值方法
Jul 26 Python
python内打印变量之%和f的实例
Feb 19 Python
Python random库使用方法及异常处理方案
Mar 02 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 22 Python
Python的Tqdm模块实现进度条配置
Feb 24 Python
django-rest-framework 自定义swagger过程详解
Jul 18 #Python
django框架使用方法详解
Jul 18 #Python
Ubuntu+python将nii图像保存成png格式
Jul 18 #Python
python实现批量nii文件转换为png图像
Jul 18 #Python
django 捕获异常和日志系统过程详解
Jul 18 #Python
Django实现发送邮件功能
Jul 18 #Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 #Python
You might like
PHP借助phpmailer发送邮件
2015/05/11 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
JavaScript 调试器简介
2009/02/21 Javascript
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
javascript 数组学习资料收集
2010/04/11 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
Python3实现连接SQLite数据库的方法
2014/08/23 Python
深入浅析Python字符编码
2015/11/12 Python
python3音乐播放器简单实现代码
2020/04/20 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
Python爬虫教程知识点总结
2020/10/19 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
基于DOM+CSS3实现OrgChart组织结构图插件
2016/03/02 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
校园餐饮创业计划书
2014/01/10 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
幼儿发展评估方案
2014/06/11 职场文书
2015年招聘工作总结
2014/12/12 职场文书
滴水洞导游词
2015/02/10 职场文书
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js