DRF lazy Serializer】的更多相关文章

class LazySerializer: def __init__(self, cls_name, **kwargs): self.cls_name = cls_name self.kwargs = kwargs class empty: pass def __call__(self, instance=None, data=empty, **kwargs) -> serializers.Serializer: return type(self.cls_name, (serializers.S…
一.APIView 我们在使用DjangoRestfulFramework的时候会将每个视图类继承APIView,取代原生Django的View类 APIView的流程分析: rest_framework>>views.py>>APIView 进入APIView APIView>>as_view 走as_view方法(此方法会在Django启动时,在路由文件内执行,最终返回一个view函数内存地址) 接下来我们回顾一下Django原生的as_view内的view方法内容…
1.定义Model对应的serializer from rest_framework import serializers class GoodsSerializer(serializers.Serializer): """ Goods的serializer """ name = serializers.CharField(required=True,max_length=100) chick_num =serializers.IntegerFi…
在serlizers中添加 # -*- coding: utf-8 -*- from rest_framework import serializers from .models import * class UserSer(serializers.Serializer): name=serializers.CharField(max_length=64) age=serializers.CharField(allow_blank=True) home=serializers.CharField…
Serializers 序列化组件 Django的序列化方法 class BooksView(View): def get(self, request): book_list = Book.objects.values("id", "title", "chapter", "pub_time", "publisher") book_list = list(book_list) # 如果我们需要取外键关联的字段…
安装rest_framework -- pip install djangorestframework -- 注册rest_framework序列化 -- Python--json -- 第一版 用values以及JsonResponse实现序列化 -- 第二版 用Django的serialize实现的序列化  -- 缺点  不能序列化外键关系 -- 第三版用DRF实现序列化  -- 第一步声明序列化器  -- 第二步 使用我们的序列化器序列化queryset   -- 把模型对象放入序列化器进…
Serializers 序列化组件 为什么要用序列化组件 当我们做前后端分离的项目~~我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式. 那么我们给前端数据的时候都要转成json格式,那就需要对我们从数据库拿到的数据进行序列化. 接下来我们看下django序列化和rest_framework序列化的对比~~ Django的序列化方法 class BooksView(View): def get(self, request): book_list = Book.obje…
假如把drf看做一个汉堡包,我们之前讲的模块属于汉堡包前面的盖盖(请求模块.渲染模块)和底底(异常模块.解析模块.响应模块),但是真正中间的夹心没有讲,那么今天我就和大家来看一下汉堡包的夹心(序列化及反序列化)到底是什么东西. drf序列化(Serializer) 什么是drf序列化?序列化就是将Model对象序列化成字符串用户传输 序列化使用 数据准备 models.py class User(models.Model): SEX_CHOICES = [ [0, '男'], [1, '女'],…
目录 自定义序列化(矬) Serializer类(方式繁琐) 底层序列化类 UserSerializer 视图序列化步骤 底层反序列化类 UserCreatSerializer 视图反序列化步骤 ModelSerializer类(重点) 序列化与反序列化类 UserModelSerializer 视图序列化与反序列化步骤 models模型类中自定义序列化字段 自定义序列化(矬) 通常我们后端需要将数据查出来,并返回给需要数据的人,那么就产生了一个序列化的概念 我们可以自定义序列化并返回给客户端.…
我们写好后端的代码,要把数据交给前端的展示的,这个数据以什么类型给前端呢?学到这里,我们已经知道这个数据最好是json字符串才行,因为网络间的传输,只认字符串或者二进制,字符串就是我们的数据,二进制就是流媒体,比如图片,视频,音频之类的 但是我们在后端经过逻辑处理得到的数据并不一定一开始就是个json字符串,所以就需要序列化下 补充: 序列化:将其他类型的数据转为字符串 反序列化:将字符串转回之前的数据类型(通常是字典类型) 在Python中,可用于序列化与反序列化的就是json和pickle模…