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

作者:gracesyuan 时间:2023-08-02 05:54:09 

多个字段模糊查询, 括号中的下划线是双下划线,双下划线前是字段名,双下划线后可以是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)

来源:https://blog.csdn.net/qq_31551211/article/details/80051369

标签:python,Django,models,模糊查询
0
投稿

猜你喜欢

  • 30行Python代码打造一款简单的人工语音对话

    2023-03-16 18:10:19
  • 前端模板引擎

    2010-07-27 12:33:00
  • mysql查询的控制语句图文详解

    2024-01-27 00:02:38
  • 微信小程序顶部导航栏可滑动并选中放大

    2023-08-23 18:49:59
  • 深入理解pytorch库的dockerfile

    2021-01-11 23:28:54
  • vue-router权限控制(简单方式)

    2024-05-28 15:42:35
  • python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例

    2021-02-25 11:13:42
  • git版本库创建拓展添加文件到版本库教程

    2022-08-11 09:44:32
  • Python使用Pillow实现图像基本变化

    2021-08-26 03:30:23
  • MySQL分区之KEY分区详解

    2024-01-26 16:24:54
  • 详细分析Python垃圾回收机制

    2021-04-18 02:43:43
  • AJAX实现延时顺序请求多个URL

    2007-12-06 18:32:00
  • asp 取一个数的整数 但不是四舍五入,只要有小数,就取大于这个数的整数

    2011-03-17 10:34:00
  • Python可变参数会自动填充前面的默认同名参数实例

    2022-05-24 05:00:43
  • 基于python时间处理方法(详解)

    2022-01-08 08:38:30
  • Python按照list dict key进行排序过程解析

    2023-12-06 08:19:06
  • asp.net DropDownList实现二级联动效果

    2023-07-23 07:48:41
  • PHP之使用swoole统计在线人数和ID案例讲解

    2023-06-21 21:12:57
  • 利用Python实现自动化监控文件夹完成服务部署

    2023-03-15 00:02:04
  • Python 实现大整数乘法算法的示例代码

    2022-07-07 02:57:54
  • asp之家 网络编程 m.aspxhome.com