首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django 2.1.7 查询 QuerySet

上一篇Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询讲述了关于Django模型介绍F对象、Q对象、聚合查询等功能。...缓存:使用同一个查询,第一次使用时会发生数据库查询,然后把结果缓存下来,再次使用这个查询时会使用缓存数据。 查询缓存 每个查询都包含一个缓存来最小化对数据库访问。...在新建查询集中,缓存为空,首次对查询求值时,会发生数据库查询django会将查询结果存在查询缓存中,并返回请求结果,接下来对查询求值将重用缓存中结果。...,都进行这个查询执行,所以mysql执行日志有两次,如下: 限制查询 可以对查询进行取下标或切片操作,等同于sql中limit和offset子句。...对查询进行切片后返回一个新查询,不会立即执行查询

1.1K10

Django REST Framework-什么是视图(一)

Django REST Framework中,视图是处理HTTP请求和响应核心组件。视图接收HTTP请求,然后根据请求方法(GET,POST,PUT等)执行相应操作,并返回HTTP响应。...DRF视图可以是函数视图或基于类视图。函数视图类似于Django函数视图,它接收一个request对象并返回一个响应。...以下是一个简单基于类视图示例:from rest_framework import genericsfrom .serializers import BookSerializerfrom .models...,并指定了查询和序列化器类。...以下是一些常用视图类型:ListAPIView:提供一个只读列表视图,显示一个查询序列化结果。RetrieveAPIView:提供一个只读详情视图,显示一个对象序列化结果。

41631
您找到你想要的搜索结果了吗?
是的
没有找到

DRF 视图组件

,上篇使用APIView是比较偏Base,视图使用更加简化了代码,这里介绍一下其他视图用法 Django REST framwork 提供视图主要作用: 控制序列化器执行(检验、保存、...转换数据) 控制数据库查询执行 先来看看这其中的人情世故:两个视图基本类,五个扩展类,九个视图子类,视图集方法,视图集·· 视图组件大纲 两个视图基本类 导入: from rest_framework.views...通用视图类 五个扩展类 扩展类不是视图类,没有集成APIView,需要配合GenericAPIView使用,因为五个扩展类实现需要调用GenericAPIView提供序列化器与数据库查询方法...,RetrieveUpdateDestroyAPIView,RetrieveDestroyAPIView 视图子类其实可以理解为GenericAPIView通用视图类和Mixin扩展类排列组合组成...~ ReadOnlyModelViewSet视图集 继承该ReadOnlyModelViewSet视图集作用是只读,只做查询,修改删除等操作不允许 from rest_framework.viewsets

90410

Django 2.1.7 查询 QuerySet

上一篇Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询讲述了关于Django模型介绍F对象、Q对象、聚合查询等功能。...缓存:使用同一个查询,第一次使用时会发生数据库查询,然后把结果缓存下来,再次使用这个查询时会使用缓存数据。 查询缓存 每个查询都包含一个缓存来最小化对数据库访问。...在新建查询集中,缓存为空,首次对查询求值时,会发生数据库查询django会将查询结果存在查询缓存中,并返回请求结果,接下来对查询求值将重用缓存中结果。...,都进行这个查询执行,所以mysql执行日志有两次,如下: 限制查询 可以对查询进行取下标或切片操作,等同于sql中limit和offset子句。...” 对查询进行切片后返回一个新查询,不会立即执行查询

74820

drf之请求、响应、视图

3 利用了REST frameworkparsers解析器,不仅支持表单类型数据,也支持JSON数据 .query_params request.query_params与Django标准...APIView与View不同之处在于: 传入到视图方法中REST frameworkRequest对象,而不是DjangoHttpRequeset对象; 视图方法可以返回REST framework...-request 当前视图请求对象 -view 当前请求类视图对象 -format 当前请求期望返回数据格式 提供关于数据库查询属性与方法 属性:queryset  指明使用数据查询...方法: get_queryset(self) :返回视图使用查询,主要用来提供给Mixin扩展类使用,是列表视图与详情视图获取数据基础,默认返回queryset属性,可以重写 get_object...导入: from rest_framework.generics import CreateAPIView, ListAPIView, UpdateAPIView, RetrieveAPIView,

2.1K20

Django QuerySet查询原理及代码实例

一 概念 DjangoORM中存在查询概念。 查询,也称查询结果、QuerySet,表示从数据库中获取对象集合。...当调用如下过滤器方法时,Django会返回查询(而不是简单列表): all():返回所有数据。 filter():返回满足条件数据。 exclude():返回满足条件之外数据。...对查询可以再次调用过滤器进行过滤,也就意味着查询可以含有零个、一个或多个过滤器。过滤器基于所给参数限制查询结果。...(book.btitle) 2)缓存   使用同一个查询,第一次使用时会发生数据库查询,然后Django会把结果缓存下来,再次使用这个查询时会使用缓存数据,减少了数据库查询次数。   ...对查询进行切片后返回一个新查询,不会立即执行查询

1.4K21

python测试开发django-rest-framework-87.分页查询

前言 django-rest-framework 分页器提供了3中分页方式,前面一篇介绍了简单分页 (PageNumberPagination), 本篇继续介绍另外2个分页偏移分页 (LimitOffsetPagination...默认条数 limit_query_param = ‘limit’ # 查询时,查询参数及指定查询多少条 offset_query_param = ‘offset’ # 查询时,指定起始位置是哪 max_limit...,指定起始位置是哪 max_limit = 20 # 查询时,最多返回多少条 APIView使用分页查询查询视图时候,先序列化,再定义分页器,查询时候可以带上参数...,但不能指定指定查询 定义CursorPagination查询一些参数配置 cursor_query_param = ‘cursor’ # 查询时候,指定查询方式,默认’cursor’ page_size...# 默认排序规则:按pk从小到大排序,-pk表示从大到小排序 APIView使用加密游标分页 只能从第一页开始查询查询时候结果里面返回了下一页游标值:cursor=加密串 from rest_framework

55920

RESTful源码笔记之RESTful FrameworkAPIview, Viewset总结分析

0x00  引言 官方文档:http://www.django-rest-framework.org/ drf为我们提供强大通用view功能,本博客对这些view进行简要总结分析。...0x01 django View 首先,我们使用django自带view,获取一个课程列表: # drf是通过json格式进行数据交互,所以这里也返回json数据 import json from...django.views.generic.base import View from django.core import serializers from django.http import HttpResponse...APIView对django本身View进行封装,从上述代码,这样分析,两者差别看起来不是很大,但实际中APIView做了很多东西,它定义了很多属性与方法,举几个例子 # 这三个是常用属性...,再继承RetrieveAPIView就ok了。

1K10

第 4 篇:用类视图实现首页 API

作者:HelloGitHub-追梦人物[1] 文中所涉及示例代码,已同步更新到 HelloGitHub-Team 仓库[2] django-rest-framework 类视图拓展自 django 类视图...django-rest-framework 中最基本类视图是 views.APIView,这个类可以看成是上一篇教程中用到 api_view 装饰器类版本。...django-rest-framework 针对各种类型资源操作,提供了对应通用类视图,这些通用类视图主要包括: CreateAPIView 用于创建资源 POST 请求。...ListAPIView 和 RetrieveAPIView 用于访问资源列表和单个资源 GET 请求。 DestroyAPIView 用于删除资源 DELETE 请求。...以及以上视图各种组合通用类视图:ListCreateAPIView、RetrieveUpdateAPIView、RetrieveDestroyAPIView、RetrieveUpdateDestroyAPIView

75810

python测试开发django-rest-framework-86.分页查询功能(PageNumberPagination)

前言 当查询出来数据量非常大时候,需要分页查询django-rest-framework 提供了分页支持。...分页器 django-rest-framework 分页器有三种: PageNumberPagination 简单分页(查看第n页,每页显示N条) LimitOffsetPagination...,不设置就默认setting配置全局PAGE_SIZE值 page_query_param 字符串,查询参数名称,不设置默认是’page’ page_size_query_param 字符串,请求设置页面大小参数名称...(‘last’,) template 分页空间使用模板名称,可以覆盖或设置为None,默认’rest_framework/pagination/numbers.html’ APIView使用分页查询...写查询视图时候,先序列号,再定义分页器,查询时候可以带上参数/api/v1/goods?

1.2K30

Django rest-frameworkjwt认证

解密载荷 先用base64解密成json字符串,再转换成python格式字典数据 查询User表确定用户账号是否存在 本次请求信息和解密后载荷中信息比对,确定是否是同一用户或设备,决定对用户是否做安全提示...json字符串加密产生新签名字符串 新签名字符串与第三段签名碰撞比对,一致的话才能确保token是合法。...校验用户对象 以上算法都通过后,载荷校验得到User对象,就是该token代表登录用户(django中一般把登录用户存放在request.user中) jwt刷新算法 刷新算法就是在前发完token...后,在token有效时间内,用户每次提交请求时都会刷新该token有效时间 刷新算法实现: 要在签发token载荷中,额外添加两个时间信息:第一次签发token时间,最多往后刷新有效时间 每次请求携带...使用自带设定好jwt from rest_framework_jwt.views import obtain_jwt_token urlpatterns = [ url(r'^login/'

1.1K10

django 组装表名查询数据(动态表名、组合表名)

组装表名查询 import myapp.models def test(requset): user_db_name = "user_%s" % request.user.name # 组装表名...一个模型动态创建多个 db_table 出处:http://www.chenxm.cc/article/764.html 动态创建 table, 并通过 Django ORM 操作....动态创建表 动态创建模型其实就是在运行时生成 Model 类, 这个可以通过函数实现, 通过传参(今天日期, 如: 20181211),然后生成新模型类, Meta 中 db_table 为...注意 LogMetaclass 和 __metaclass__ , 元类可以在运行时改变模型名字,table 名称我们可以通过 db_table 定义, 类名称可以通过覆盖元类方法定义。...    # 如上述警告所述, Django 不建议重复加载 Model 定义.     # 作为 demo 可以直接通过get_log_model获取,无视警告.

1.9K10

Django REST framwork权限验证实例

在这里插入代码片# Django REST framwork权限验证 一、用户是否登录 (1)判断用户是否登录; permission_classes = (IsAuthenticated, )...注意:permission_classes设置是:验证是用户是否登录、用户是否可以操作该数据等权限; 权限组合方式,目前支持:与&(and) 或|(or) 非~(not) 例如:permission_classes...具体代码如下: from rest_framework.permissions import IsAuthenticated # 判断用户是否登录 from rest_framework_jwt.authentication...) 补充知识:django rest framework api授权与认证 djangorestf 官方文档 授权与认证教程 permissions.py from rest_framework import...以上这篇Django REST framwork权限验证实例就是小编分享给大家全部内容了,希望能给大家一个参考。

1.1K10
领券