首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    第 9 篇:实现分类、标签、归档日期接口

    之前序列化字段都是在序列化器(Serializer)里面使用的,因为通常来说接口需要序列化一个对象的多个字段。...用法也很简单,实例化序列化字段,调用其 to_representation 方法,将需要序列化的值传入即可(其实序列化器在序列对象的多个字段时,内部也是分别调用对应序列化字段的 to_representation...category,tags 两个过滤字段因为是 Post 模型中定义的字段,因此 django-filter 可以自动推断其过滤规则,只需要在 Meta.fields 中声明即可。...由于这两个字段在 Post 中没有定义,Post 记录时间的字段为 created_time,因此我们需要显示地定义查询规则,定义的规则是: 查询参数名 = 查询参数值的类型(查询的模型字段,查询表达式...) 例如示例中定义的 created_year 查询参数,查询参数值的类型为 number,即数字,查询的模型字段为 created_time,查询表达式是 year。

    2.6K30

    Django rest Framework入门 五 :认证、权限、限流、分页和过滤

    ordering=title 就会在返回结果中针对title进行排序 在DRF的排序需要依赖于django-filter实现,所以要先安装: pip install django-filter 安装好之后要修改...,只有显式指定的字段才能用于排序。...不论是那种方法,都需要依赖于django-filter,所以需要先安装: pip install django-filter 安装好之后还要修改settings: INSTALLED_APPS =...name=袁隆平 虽然这种方法很简单就能实现过滤的功能,但是也如上面的两个例子展示的那样,只能实现很简单的过滤,在过滤的时候必须明确地指定需要过滤的参数和对应的值,没办法搜索一个范围,比如我想搜索id...'demo.utils.custom_pagination.PageNumberPagination', 'PAGE_SIZE': 100, # 每页返回的数据调数,可以在分页处理器类中覆盖

    9810

    Python进阶43-drf框架(五)

    token JWT认证校验token 签发token源码分析 校验token源码分析 自定义jwt的配置 多方式登录签发token 群查数据准备 群查过滤组件前戏 群查之搜索过滤组件...这些数据某些情况下也会作为合法数据返回 if results is not None: data['results'] = results # data响应的其他内容...search=1 ,指定的字段中,如果都包含1,都会被查出来,如果search_fields = ['name','price']有两个字段的时候,那么价格里带1的都会出来。...ordering= ordering_fields = ['price']   多个条件,就在ordering_fields = ['price','pk']中添加,url:http:/...重点使用方法 ---- 自定义过滤字段 api目录下的filter.py文件中 ## django-filter插件过滤器类 from django_filters.rest_framework import

    3.1K20

    【愚公系列】2022年04月 Python教学课程 74-DRF框架之过滤

    文章目录 一、普通过滤 1.针对当前用户进行筛选 2.针对网址进行筛选 3.针对查询参数进行筛选 二、通用过滤 1.全局设置 2.视图设置 3.简单过滤 4.搜索器过滤 4.1 多字段查找 4.2 多字段查找...我们可以覆盖以处理 URL,例如 ,并且仅当参数包含在 URL 中时才筛选查询集: class PurchaseList(generics.ListAPIView): serializer_class...搜索参数可能包含多个搜索词,这些搜索词应以空格和/或逗号分隔。如果使用多个搜索词,则仅当所有提供的词都匹配时,才会在列表中返回对象。 搜索行为可能会因在 前面加上各种字符而受到限制。...search_fields = ['=username', '=email'] 4.5 自定义过滤器 默认情况下,搜索参数名为 ,但该设置可能会覆盖该参数。...若要根据请求内容动态更改搜索字段,可以对 函数进行子类化并覆盖该函数。

    2.5K30

    Django DjangoFilterBackend django-filter

    //github.com/Coxhuang/django-DjangoFilterBackend.git #1 环境 Django==2.0.7 djangorestframework==3.8.2 django-filter...==2.0.0 #2 需求 获取某些数据时,需要按某些字段过滤 过滤时,有些的字段是 “跨表” 的字段,该如何处理 过滤时,有些字段是 “区间” 字段(比如时间),该如何处理 过滤时,有些字段是 “跨表...注意 : 在url的参数中,原来我们在filters.py中定义的变量是 “RegDate”,到了url中变成了 “RegDate_after” 和 “RegDate_before”,这是框架给我设定好的区间变量..._salary__lte = int(value.stop))) 细节 函数名必须是 method 的值 如果是区间,可以使用django_filters.RangeFilter,如果不是区间可以使用其他...重写函数时,里面的参数不会自动补全 坑 使用Q时,一定不能使用or / and,只能使用 | & return 的数值,如果使用queryset.filter(xxx).filter(xxx),那么返回的结果是所有过滤的交集

    1.6K20

    教你 10 分钟构建一套 RESTful API 服务( 下 )

    djangorestframework:Django 的扩展,增加了对快速构建 REST API 的支持 django-rest-swagger:Django 支持的Swagger UI,可以生成 API 接口文档 django-filter...djangorestframework # API 可视化 pip3 install django-rest-swagger # 配合djangorestframework使用,过滤数据( 可选 ) pip3 install django-filter...第 2 步,序列化模型 使用 djangorestframework 提供的序列化器 ModelSerializer,将上面定义好的模型转换为其他数据格式,比如:JSON 需要注意的是,这里可以序列化所有字段...Music # 序列化模型为其他格式 class MusicSerializer(serializers.ModelSerializer): class Meta: model...= Music # 序列化所有的字段 fields = '__all__' # 序列化部分字段 # fields = ('id','

    1.6K40

    教你 10 分钟构建一套 RESTful API 服务( Django篇 )

    djangorestframework:Django 的扩展,增加了对快速构建 REST API 的支持 django-rest-swagger:Django 支持的Swagger UI,可以生成 API 接口文档 django-filter...python3 manage.py migrate 第 2 步,序列化模型 使用 djangorestframework 提供的序列化器 ModelSerializer,将上面定义好的模型转换为其他数据格式...,比如:JSON 需要注意的是,这里可以序列化所有字段,也可能只序列化一部分字段 # api/restfulapi/serializers.py from rest_framework import serializers...from .models import Music # 序列化模型为其他格式 class MusicSerializer(serializers.ModelSerializer):     class... Meta:         model = Music         # 序列化所有的字段         fields = '__all__'         # 序列化部分字段

    6.6K10

    跟着官方文档学Python——Django Rest framework

    跟着官方文档学Python Django Rest framework 这周将会持续更新跟着官方文档学Python系列文章,主要是围绕web框架以及其他后端组件的官方文档展开学习。...例如:我们经常使用的淘宝商城就有很多的客户端,Web, iOS 和 Android端,但是当我们在 Web 端搜索商品时得到的结果和在 iOS 和 Android 端得到的结果却是一样的。...这是因为,我们在不同客户端搜索的时候,都访问了后端同一个 API 。这样后端针对前端的同一种需求,只需开发一种接口,就可满足前端不同终端对于该资源的调用,大大降低了开发工作量,节约了开发时间。...pip install django-filter # Filtering支持。....models import Students class StudentModelSerializer(serializers.ModelSerializer): # 需要进行数据转换的字段

    2.3K10

    Cable : 基于Ansible运维Web管理平台

    并可以对任务模板进行授权给其他任何成员, 做到最小化的能力交付(一个命令或者一个过程). CABLE 可以分配用户属于哪个组织, 可以访问组织哪些权限。...也可以查看详细的步骤信息, 比如一个任务有多个 playbook 或者 多个模块组成, 那么可以查看单个模块的执行情况. ? 查看单个模块的执行详细 ?...GROUP 组标签, ansible 支持灵活的 pattern 匹配, 加入组标签的划分可以很方便的进行 pattern 搜索. KEY 密钥 KEY, 用于 SSH 连接到远程机器。...并可以使用 ansible 所有 ad-hoc 参数和模块参数。...2.3.1 coreschema==0.0.4 cryptography==2.0.2 daphne==1.3.0 Django==1.11.4 django-cors-headers==2.1.0 django-filter

    12.8K40

    用 GraphQL 查询你的 Django 应用

    作为后端开发,学习和使用 GraphQL 的动力,更多是想将自己从 CRUD 的泥沼中拯救出来,将更多的精力放在其他更重要的技术上。...但是也许某一天,我们需要一个评论的精简列表的 API,当前返回内容中,除了 content 以外的其他字段都变成多余了,那么后端开发需要重新定一个 MinimalCommentSerializer 来满足新的需求...在 REST 基础中,我们增加了 fields 参数,并在 DRF Serializer 里做了特殊处理(你可以点击查看源码),实现的具体效果: # 查询 comment,并限制结果返回字段 /api/...在 REST 中,为了这个需求我们可能会额外为 /users 增加一个参数 with_comments # 查询 users,并限制结果返回字段 /api/users?...Django 默认的查询能力,对于一些特殊字段并不能完全覆盖需求,这时我们就需要针对这些内容手写一些处理逻辑。

    2K60
    领券