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多进程并发(multiprocessing)用法实例详解
Jun 02 Python
Python 常用的安装Module方式汇总
May 06 Python
Python文件和流(实例讲解)
Sep 12 Python
Python退火算法在高次方程的应用
Jul 26 Python
破解安装Pycharm的方法
Oct 19 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
Mar 27 Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 Python
通过实例了解Python str()和repr()的区别
Jan 17 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 Python
Python读取excel文件中带公式的值的实现
Apr 17 Python
python中time tzset()函数实例用法
Feb 18 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
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
一些常用的php简单命令代码集锦
2007/09/24 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
2016/01/07 PHP
PHP pear安装配置教程
2016/05/14 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
vue props传值失败 输出undefined的解决方法
2018/09/11 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python解析命令行读取参数--argparse模块使用方法
2018/01/23 Python
python列表的增删改查实例代码
2018/01/30 Python
pandas的resample重采样的使用
2020/04/24 Python
质检部部长职责
2013/12/16 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
国际贸易专业个人鉴定
2014/02/22 职场文书
车间机修工岗位职责
2014/02/28 职场文书
远程培训的心得体会
2014/09/01 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android