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 相关文章推荐
linux 下实现python多版本安装实践
Nov 18 Python
python中set常用操作汇总
Jun 30 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
Python3 加密(hashlib和hmac)模块的实现
Nov 23 Python
python 获取list特定元素下标的实例讲解
Apr 09 Python
Python实现修改IE注册表功能示例
May 10 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
Dec 12 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
python实现将列表中各个值快速赋值给多个变量
Apr 02 Python
详解python 条件语句和while循环的实例代码
Dec 28 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连mysql和oracle数据库性能比较
2006/10/09 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
Javascript处理DOM元素事件实现代码
2012/05/23 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
举例讲解如何判断JavaScript中对象的类型
2016/04/22 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
基于Node.js模板引擎教程-jade速学与实战1
2017/09/17 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
2019/06/04 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
python标准日志模块logging的使用方法
2013/11/01 Python
python实现多线程采集的2个代码例子
2014/07/07 Python
使用tensorflow实现线性回归
2018/09/08 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
HTML5 placeholder属性详解
2016/06/22 HTML / CSS
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
高级护理实习生自荐信
2013/09/28 职场文书
物业客服专员岗位职责
2013/11/30 职场文书
宣传标语大全
2014/07/01 职场文书
酒店温馨提示语
2015/07/14 职场文书
Django操作cookie的实现
2021/05/26 Python