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 相关文章推荐
python实现稀疏矩阵示例代码
Jun 09 Python
Python django实现简单的邮件系统发送邮件功能
Jul 14 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
Dec 02 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
Mar 27 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
Sep 10 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
详解python UDP 编程
Aug 24 Python
使用python操作lmdb对数据读取的实例
Dec 11 Python
Python 如何利用ffmpeg 处理视频素材
Nov 27 Python
python套接字socket通信
Apr 01 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自动更新新闻DIY
2006/10/09 PHP
PHP 替换模板变量实现步骤
2009/08/24 PHP
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
ES6新增的math,Number方法
2017/08/06 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
Python中的迭代器漫谈
2015/02/03 Python
python实现文件快照加密保护的方法
2015/06/30 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
python 字典套字典或列表的示例
2019/12/16 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
公司道歉信范文
2014/01/09 职场文书
优秀小学生家长评语
2014/01/30 职场文书
园艺师求职信
2014/03/10 职场文书
2015年入党决心书
2015/02/05 职场文书
学期个人工作总结
2015/02/13 职场文书
2015年维修工作总结
2015/04/25 职场文书
开场白怎么写
2015/06/01 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers