过滤Filtering

过滤Filtering

注意 : 都是GenericAPIView或子类进行的操作

对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。

pip install django-filter

在配置文件中增加过滤后端的设置:

#settings.pyINSTALLED_APPS = [
    ...
    ‘django_filters‘,  # 需要注册应用,
]

REST_FRAMEWORK = {
    ...
    ‘DEFAULT_FILTER_BACKENDS‘: (‘django_filters.rest_framework.DjangoFilterBackend‘,)
}

在视图中添加filter_fields属性,指定可以过滤的字段

from django_filter.rest-framework import DjangoFilterBackend
class BookListView(ListAPIView):
    queryset = BookInfo.objects.all()
    serializer_class = BookInfoSerializer
    #接口:/api/cars/?priece=90000&bread=1
    filter_fields = (‘btitle‘, ‘bread‘)

# 127.0.0.1:8000/books/?btitle=西游记

筛选 (类似模糊匹配):

from django_filter.rest-framework import DjangoFilterBackend
from reset_framework.filter SeachFilter
filter_backends = [DjangoFileterBackend,SearchFilter]
#接口:/api/cars/?search=9 代表9在name或price直进行模糊查询
search_fileds = (‘name‘,‘price‘)

原文地址:https://www.cnblogs.com/HZLS/p/11406332.html

时间: 2024-08-08 01:00:33

过滤Filtering的相关文章

LINQ Operators之过滤(Filtering)

转:http://www.cnblogs.com/lifepoem/archive/2011/11/16/2250676.html 在本系列博客前面的篇章中,已经对LINQ的作用.C# 3.0为LINQ提供的新特性,还有几种典型的LINQ技术:LINQ to Objects.LINQ to SQL.Entity Framework进行了比较详细的介绍,至此,我们应该了解了各种LINQ技术之间的联系和区别.千里之行始于足下,这些基础理论是理解和使用LINQ 的关键.但是我们在前面的文章中对于LIN

利用maven中resources插件的copy-resources目标进行资源copy和过滤

maven用可以利用如下配置进行资源过滤,pom.xml的配置如下: Xml代码   <build> <!-- 主资源目录 --> <resources> <resource> <!-- 设定主资源目录  --> <directory>src/main/resources</directory> <!-- maven default生命周期,process-resources阶段执行maven-resources-p

[Hibernate Search] (5) 高级查询 - 过滤,投影和分面

高级查询 在介绍了更多的高级映射功能之后,是时候回顾一下之前介绍过的查询功能了,看看如何借助这些高级的映射功能来使用一些高级的查询功能.本文会通过以下几个方面进行介绍: 如何在不和数据库进行任何交互的前提下,借助Lucene的力量来动态的筛选结果 如何通过使用基于投影(Projection)的查询来获取需要的属性,从而避免与数据库的交互 如何使用分面搜索(Faceted Search)对搜索结果进行划分 如何使用查询时提升(Boosting) 如何给查询设置时间限制 过滤(Filtering)

drf 其他功能组件 - 限流-过滤-排序-分页-异常处理-生成接口文档-Xadmin

目录 限流Throttling 使用 可选限流类 实例 过滤Filtering 排序 分页Pagination 可选分页器 异常处理 Exceptions REST framework定义的异常 自动生成接口文档 安装依赖 设置接口文档访问路径 文档描述说明的定义位置 访问接口文档网页 Xadmin 安装 使用 限流Throttling 可以对接口访问的频次进行限制,以减轻服务器压力. 一般用于付费购买次数,投票等场景使用. 使用 可以在配置文件中,使用DEFAULT_THROTTLE_CLAS

drf之组件(认证、权限、排序、过滤、分页等)和xadmin、coreapi

认证Authentication 可以在配置文件中配置全局默认的认证方案 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.BasicAuthentication', # 基本认证 'rest_framework.authentication.SessionAuthentication', # session认证 ) } 也可以在每个视图中通过设置authentication

[ ObjectListView ] - ListView的增强控件 - 前言 (翻译)

********************************************************************************** 原  标 题: A Much Easier to Use ListView 原文地址: https://www.codeproject.com/Articles/16009/A-Much-Easier-to-Use-ListView 翻       译: 于国栋 http://www.shannon.net.cn *********

Linux 安全

 Linux 安全 1.安装 使系统处于单独(或隔离)的网络中.以防止未受保护的系统连接到其它网络或互联网中受到可能的攻击 安装完成后将下面软件卸载 pump                            apmd                            lsapnptools                    redhat-logos mt-st                      kernel-pcmcia-cs             Setserial  

链路层交换机

在总线拓扑和基于集线器的星形拓扑技术时代,以太网显然是一种广播链路.为了处理这些碰撞,以太网标准包括了 CSMA/CD 协议. 今天广为使用的以太网是基于交换机的星形拓扑,采用的是存储转发分组交换.在基于交换机的以太局域网中,不会有碰撞,因此没有必要使用 MAC 协议了! 交换机自身对子网中的主机和路由器是透明的 (transparent),即某主机/路由器向另一个主机/路由器寻址一个帧,而不是向交换机寻址该帧:且不知道某交换机将会接收该帧并将它转发到另一个结点. 类似路由器接口为数据报设有缓存

jQuery 包装集

一.创建元素 1.jQuery内部使用document.createElement创建元素 实例: //jQuery 源代码 方法一: $("<div></div>").css({ 'width': '100px', 'height': '50px', 'padding': '10px', 'border': '3px solid red' }).html('我是jQuery动态创建的div').appendTo('body'); 方法二: $("&l