美文网首页工作生活
第五章 DRF权限分页查询排序访问限制

第五章 DRF权限分页查询排序访问限制

作者: 7d4b0b51c9d4 | 来源:发表于2019-07-03 21:35 被阅读0次

分页

可在settings中设置默认分页配置

也可以自定义分页类

http://127.0.0.1:8000/api/grades/?page=2&limit=6

limit是每页的最大个数

有时候我们获取资源时,需要获取尽可能多的记录,这时候可以使用DRF-extensions

pip installdrf-extensions

经过反复试验,均已失败告终,而且这个limit=max  好像也只是取max_page_size 的值,如果真的不分页建议自己写个@list_route方法,方法内容直接超list方法即可,去掉里面的分页功能

权限认证

authentication_classes

permission_classes

只有管理员才能访问该接口

过滤搜索

安装django-filter

pip install django-filter

一定要注意: 安装的是django-filter  填写的app名称是django_filters

编写 Filter类

注意:这里type是一对一关系的属性,写法是profile__type (两个下划线)

Filter是过滤,根据过滤类代码,可根据name/type来进行过滤

http://127.0.0.1:8000/api/grades/?name=高四&type=2

Search

search_fields = ('name', 'profile__email')

search_fields = ('^name', 'profile__email')

默认的为模糊匹配

http://127.0.0.1:8000/api/grades/?search=zhaor

'^' Starts-with search.    开头

'=' Exact matches.       完全匹配

'@' Full-text search. (Currently onlysupported Django's MySQL backend.)   全文搜索

'$' Regex search.           正则匹配

排序

排序很简单,只需要一句话

http://127.0.0.1:8000/api/grades/?search=zhaor&sort=-name

sort=name 正序,sort=-name 倒叙。

Sort关键词可以在setting中设置

访问限制

REST_FRAMEWORK 中可设置默认访问限制

间隔可设置为second, minute, hour or day

把user 限制在 10/day ,当访问第11次的时候报错

自定义限速

比如设置为:

意思就是:匿名用户可以访问5次,而登陆用户采用的ZRC限制,可以访问8次

还有一种方式是设置scope

此时在View中可以直接使用:

throttle_scope = uploads

第一章 DRF概述

第二章 DRF安装与项目创建

第三章 DRF之View进化论

第四章 DRF之Router 和 Serializer

第五章 DRF权限分页查询排序访问限制

第六章 DRF Linux部署

第七章 DRF其他知识

相关文章

  • 第五章 DRF权限分页查询排序访问限制

    分页 可在settings中设置默认分页配置 也可以自定义分页类 http://127.0.0.1:8000/ap...

  • DRF认证,权限,限流,流程

    drf十大组件 认证 权限(授权) 用户访问次数/频率限制 版本 解析器(parser) 序列化 分页 路由...

  • MySQL查询语句

    一、基本查询: 二、限制查询:where 三、排序查询:order by 四、模糊查询:like 五、模拟分页:l...

  • elasticsearch 查询语句

    elasticsearch 查询语句 1、简单查询 不带参数、分页、排序查询 带分页、字段筛选查询 2、复杂查询 ...

  • 2020-08-03(约束)

    1,dql:查询语句; 排序查询,聚合函数,分组查询,分页查询; a,排序; order by ,asc...

  • 2021-01-16 - mysql优化

    分页优化 表结构如下 根据主键的查询排序 sql查询 会用到索引吗? 非主键的排序分页查询 sql查询 会用到索引...

  • 分页查询oracle,mysql实现方式详解

    分页查询 排序 首先分页查询很重要的一点是排序。只有一个稳定的排序才能保证分页数据的准确性。简单解析一下排序的稳定...

  • django rest framework

    DRF安装 DRF配置 DRF基础 过滤器 DRF的分页功能 全局配置 局部配置

  • 数据库查询语句

    条件与逻辑查询 模糊查询 范围查询 排序 聚合函数 分组 连接查询 分页 子查询

  • 6、访问权限控制(封装)

    访问权限限制等级,从大到小依次为:public, protected, 包访问权限, private访问权限的控制...

网友评论

    本文标题:第五章 DRF权限分页查询排序访问限制

    本文链接:https://www.haomeiwen.com/subject/oirhhctx.html