网络编程
位置:首页>> 网络编程>> Python编程>> python Django中models进行模糊查询的示例

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

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

标签:python,Django,models,模糊查询

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

0
投稿

猜你喜欢

  • 1、动态sql, 即动态参数:在存储过程中,想要直接用表名变量做参数,动态执行sql,不能直接写<P>create proced
  • 昨天有人在群里问图1的边框效果是否能实现。 边框效果图有人给出答案,需要嵌套一个元素实现。我当时粗粗写了个测试页面,但是时间太晚了,也没有细
  • 如果你计划将数据库从SQL Server 2000 升级到 SQL Server 2005。你在升级之前一定会测试每样东西,并且证明应用程序
  • 一、前言关于什么是Dapper(详细入口),在此不做赘述;本文仅对Dapper在.Net Core中的使用作扼要说明,所陈代码以示例讲解为主
  • 先看看单条 SQL 语句的分页 SQL 吧。 方法1: 适用于 SQL Server 2000/2005 代码如下:SELECT TOP 页
  • 之前有看过一个博文写的是白社会的设计很好但运营却有些遭,因为对每一个WebGame的推出时间把握不准,会有几个应用同时上线造成影响力的冲突,
  • 以下为引用的内容:DROP PROCEDURE test_insert ;DELIMITER ;;CREATE PROCEDURE test
  • Silverlight也算一个比较开放的技术。Button控件其实也是一些标准的Grid、Canvas、Rectangle、TextBloc
  • 代码中用到了nextpow2,其中n = nextpow2(x) 表示最接近x的2的n次幂。#!/usr/bin/env pythonimp
  • 使用SQL Server事件探查器工具,你可用一个捕获到的跟踪来收集有关服务器的重要信息。与索引优化向导(Index Tuning Wiza
  • 站长们是不是还在为空间不支持域名绑定到子目录而发愁呢?买了个便宜也不错的空间,用的还满意,准备再开几个网站,却发现空间程序太落后,无法支持域
  • 问:怎样解决mysql连接过多的错误?答:系统不能连接数据库,关键要看两个数据:1、数据库系统允许的最大可连接数max_connection
  • iframe的背景颜色在IE下为window的当前窗口颜色(默认白色,可以在显示外观处对其进行设置),这导致在大幅背景上插入iframe时,
  • MySQL目前不支持列的Default 为函数的形式,如达到你某列的默认值为当前更新日期与时间的功能,你可以使用TIMESTAMP列类型下面
  • oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。正因为快照是一个主表的查询子集,使用快照可
  • 大家都知道一些论坛的标题有高亮显示功能,在这里我不讨论也不研究论坛普遍的实现方法,下面是我的实现方法:实现思路:把要高亮显示的标题加上特定标
  • 很有创意的鼠标指针风筝,看起来非常有意思。在网络上看到的,一下也想不起来是那里的了,所以特别说一下图片是来自网络的,版权归作者所有。
  • 最近看了下go发送smtp邮件,于是总结一下简单示例 先上一个最简单的代码 (网上搂的代码改了改)package mainimport (
  • 新手,看到很多网页上有显示/隐藏的菜单,可以显示隐藏层的同时控制FLASH的播放与停止。找了好久都找不到这个功能。。。还望高人指点当点击时就
  • 一些MySQL发布对MySQL数据库中的系统表的结构进行了更改,添加了新权限或特性。当你更新到新版本MySQL,你应同时更新系统表,以确保它
手机版 网络编程 asp之家 www.aspxhome.com