
drf
努力的程序猿@
这个作者很懒,什么都没留下…
展开
-
APIView使用分页和序列化器
class RobotLogView(APIView): """机器人日志视图""" def get(self, request): robot_id = request.query_params.get('robot_id') machine_id = request.query_params.get("machine_id") if not robot_id: queryset = Log.objects.all.原创 2020-06-15 17:13:56 · 1019 阅读 · 0 评论 -
django_filters实现数据查询
django_filters实现数据查询不区分大小写,不支持中文查询,实际上是在APPLog.objects.filter()添加查询条件1、视图class APPLogSearchView(ListAPIView): """APP日志视图""" permission_classes = [] queryset = APPLog.objects.all().ord...原创 2019-07-06 17:04:52 · 1824 阅读 · 0 评论 -
自定义一个序列化器的父类
为了使代码整洁父类序列化器class MachineIdSerializer(serializers.ModelSerializer): machine_id = serializers.CharField(write_only=True) robot = serializers.PrimaryKeyRelatedField(read_only=True) _tim...原创 2020-01-17 11:41:47 · 268 阅读 · 0 评论 -
drf修改序列化字段
缓解数据库查询压力(重写ListModelMixin的list方法) def list(self, request, *args, **kwargs): query_params = {"tar_time__lte": datetime.datetime.now()} if "tar_start_time" not in request.query_pa...原创 2019-12-30 18:25:58 · 1688 阅读 · 0 评论 -
QuerySet方法大全
################################################################### PUBLIC METHODS THAT ALTER ATTRIBUTES AND RETURN A NEW QUERYSET ## 更改属性并返回新QuestSub的公共方法 ####################...转载 2019-07-23 11:04:06 · 505 阅读 · 0 评论 -
drf其他功能
一、认证Authentication/权限认证: 登录可以在配置文件中配置全局默认的认证方案REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( # 'rest_framework.authentication.BasicAuthentication', # 基本认证:账号密码认证 'r...转载 2019-04-08 15:15:11 · 313 阅读 · 0 评论 -
其它子类视图
其它子类视图视图 作用 方法 父类 ListAPIView 查询多条数据 get GenericAPIView ListModelMixin CreateAPIView 新增一条数据 post GenericAPIView CreateModelMixin RetrieveAPIView 查询一条数据 ...原创 2019-04-08 15:45:26 · 128 阅读 · 0 评论 -
五个扩展类
五个扩展类作用封装了对数据进行曾删改查的实现,可以通过继承其中的一个或多个扩展类来复用代码 这五个扩展类需要搭配GenericAPIView (或者是后面的 GenericViewSet)一起使用:五个扩展类的需要调用GenericAPIView提供的序列化器与数据库查询的方法扩展类 作用 封装的方法 状态码(成功,失败) ListModelMixin 查询...转载 2019-04-08 15:45:38 · 818 阅读 · 0 评论 -
GenericAPIView
GenericAPIViewrest_framework.generics.GenericAPIViewGeneric:通用的,一般的作用: 通常结合一个或多个Mixin扩展类使用,用来快速地实现列表视图或详情视图,即标准的增删改查功能。 与APIView的不同点:主要增加了 操作序列化器 和 数据库查询的属性或方法,为Mixin扩展类的执行提供支持。提供的关于序列化器使用的属...转载 2019-04-08 15:45:15 · 439 阅读 · 0 评论 -
DRF框架
通用视图的继承关系安装DRFpip install djangorestframework在settings中注册INSTALLED_APPS = [ 'rest_framework',]一.序列化器(针对模型类)(1).通过继承rest_framework.serializers.Serializer来定义序列化器;定义和模型类的定义类似,不过模型类的字段mode...原创 2019-04-06 21:34:51 · 1112 阅读 · 0 评论 -
反序列化器
参数校验基本使用使用序列化器进行反序列化时,需要对数据进行验证后,才能获取验证成功的数据,或保存成模型类对象。 序列化器的创建: 通过data传入字典数据 Serializer(instance=None, data=empty, **kwarg) 通过is_valid方法校验参数合法性 is_valid()方法: 校验参数是否合法,校验通过返回True,否...原创 2019-04-08 15:46:20 · 677 阅读 · 0 评论 -
序列化使用
序列化使用序列化:模型对象 / QuerySet -> 字典 / 列表一、基本使用1、查询出要序列化的模型对象dep = Department.objects.get(id=1)2、创建序列化器serializer = DepartmentSerializer(dep)3、通过data属性获取序列化后的结果(字典数据)serializer....原创 2019-04-08 15:46:30 · 248 阅读 · 0 评论 -
定义序列化器
序列化器定义一、序列化器定义1. 通过继承Serializer定义通过继承rest_framework.serializers.Serializer来定义序列化器;针对部门模型类和员工模型类:class Department(models.Model): name = models.CharField(max_length=20, verbose_name=...原创 2019-04-08 15:45:48 · 199 阅读 · 0 评论 -
模型类序列化器
模型类序列化器DRF提供了模型类序列化器:ModelSerializer 作用: 简化对应django模型类的序列化器的定义ModelSerializer与常规的Serializer相同,但提供了:基于模型类自动生成一系列字段 基于模型类自动为 Serializer 生成 validators,比如字段唯一的校验器 包含默认的 create() 和 update() 的实现1....原创 2019-04-08 15:46:00 · 1125 阅读 · 0 评论 -
drf视图:Request 与 Response
Request 与 Response1. RequestREST framework 传入视图的request对象,不再是Django默认的HttpRequest对象,而是扩展了HttpRequest类的Request类的对象。REST framework 提供了Parser解析器,在接收到请求后会自动根据Content-Type指明的请求数据类型(如JSON、表单等)将请求数据进行p...原创 2019-04-08 15:46:10 · 214 阅读 · 0 评论 -
APIView
基类APIViewrest_framework.views.APIView: 是REST framework提供的所有视图的基类,继承自Django的View父类。 APIView与View的不同之处在于: 接收的是REST framework的Request对象,而不是Django的HttpRequeset对象; 视图方法可以返回REST framework的Response...原创 2019-04-08 15:46:39 · 2277 阅读 · 0 评论