二、Django REST Framework (DRF)序列化&反序列化&数据校验 实现增删改查接口
二、Django REST Framework (DRF)序列化&反序列化&数据校验 实现增删改查接口
对于一些额外的验证功能,例如需要根据正则去实现的功能,或者说DRF本身没有额外提供的数据验证,我们可以自定义validators参数,进行数据验证示例:验证你有没有500块钱,如果没有500,就报错”穷B,这不是你该买的...
文章目录反序列化之验证反序列化之保存 使用序列化器进行反序列化时,需要对数据进行验证后,才能获取验证成功的数据或保存成模型类对象。 前面我们已经了解过,定义好Serializer类后,就可以创建Serializer对象了。...
为什么要用序列化组件 当我们做前后端分离的项目~~ 我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式。 那么我们给前端数据的时候都要转成json格式,那就需要对我们从数据库拿到的数据进行...
DRF内置的序列化类,可以对整个模型类进行序列化与反序列化,简化了繁杂的工作。 内置字段序列化 模型类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30Copy ...
property@property相当于调用了book表中的方法,返回的是一个对象。
把我们能识别的对象,转换成别的格式,提供给其他人。
Serializer的反序列化、字段与参数、局部与全局钩子、ModelSerializer使用
将json转换为模型 称之为 反序列化 1.序列化器的字段 Serializer 序列化器 为了得到模型里的字段,序列化器中的字段应与模型类中的字段名一致 ''' serializers.py ''' class BookInfoSerializer(serializers....
而DRF(Django REST Framework)就可以帮忙我解决这个问题,即序列化和反序列化 1.安装DRF 使用pip安装 pip install djangorestframework 配置应用 INSTALLED_APPS = [ ... 'rest_framework', ] 2.定义...
使用,你可以自动推断字段类型,并快速创建一个序列化器,该序列化器能够处理 Django 模型实例的序列化和反序列化。特点自动字段推断会自动根据 Django 模型中的字段来生成对应的序列化器字段。创建和更新模型实例:...
我们的url里面加了“/”,但是用apifox等非浏览器的工具发起请求时没有加“/”,而且还不是get请求,那么这个请求就会被加上“/”且重定向成一个get请求。从而导致返回None且报错。urls.py可以发现如果走DELETE方法...
仅序列化需要在与class Meta同级下额外添加字段,而class Meta相当于drf自动帮你写好了那些基本字段。在之前写序列化类,没有显示指明跟哪个表一一对应,ModelSerializer可以和表做一一对应关系。source是一个序列化...
反序列化使用 1. 验证 使用序列化器进行反序列化时,需要对数据进行验证后,才能获取验证成功的数据或保存成模型类对象。 在获取反序列化的数据前,必须调用is_valid()方法进行验证,验证成功返回True,否则返回...
在我们写APIView的五个接口时,做序列化的时候方法很笨,要写很多代码,这时,我妈可以借助drf提供的序列化类。
校验前端传入的数据# 1. 数据校验第一层,字段自己校验# 名字最长8位,最短3位name = serializers.CharField(max_length=8, min_length=3) # 字段参数,控制 数据校验# 2. 局部钩子函数--->给某个字段加限制条件# ...
drf知识
save中可以给额外参数。
但是在序列化类中,如果直接进行合法数据的打散传入是不对的,因为需要传入的是对象,所以需要先将这些数据弹出,然后另外保存外键信息。但是在序列化类中,如果直接进行合法数据的打散传入是不对的,因为需要传入的...
drf序列化器之反序列化的数据验证
昨天,我们完成了Serializer序列化器的反序列化操作,那么今天我们就来学习Serializer序列化器的最后一点知识,反序列化操作。 首先,我们定要明确什么是反序列化操作? 反序列化操作:JOSN数据 --> 字典数据 -...
序列化:将模型转换成JSON数据序列化器的类应该单独创建一个定义序列化器类(模型名/类视图名Serializer)继承Serializer定义序列化器中的字段参照模型(序列化器中的字段可以比模型多或少,如果表示是模型中的字段...
反序列化:将json格式的字符串转换为对象,我们可以对接收的数据进行校验(一般是后端接收前端传送的数据进行校验后进行数据库相关操作:增、删、改、查) 继承说明:Django REST framework中的Serializer使用类来...