DRF
使用Django rest_framework实现rest api;
RESTful设计方法
1.域名
2.版本
3.路径
4.HTTP动词
5.过滤信息
6.状态码
7.错误处理
8.返回结果
9.超媒体
10.其他;服务器尽量返回json数据,避免xml
序列化;
获取数据对象----》返还json给前端
ser.data; 获取查询后的数据
使用关联对象;
PrimaryKeyRelatedField;
该字段将被序列化成为关联对象的主键;
StringRelatedField;
此字段将被序列化为关联对象的字符串表示方式;
HyperlinkedRelatedField;
SlugRelatedField;
to_representations方法不仅局限在控制关联对象格式上,适用于各个序列化器字段类型。(重写字段格式)
反序列化;
-
获取前端数据----》数据验证---》将验证后的数据进行保存或更新----》得到数据
-
ser.is_valid(); 验证通过返回True,否则为False
-
validated_data ; 获取验证后的数据
-
orderedDict;类似字典的方式存储数据
-
ser.errors;查看错误信息(之前在代码行定义)
单个字段验证;
多个字段验证;
- 定义方法验证字段必须返回相应的值
保存与更新;
- partial=True;使得之前所有required=False变为True,True变为False;
模型类序列化器;
- 自动生成自己想要的序列化器,简化代码,工具包早已定义好
-
exclude=(‘’)表示排除某个字段的输出;
-
depth=1;表示层级嵌套一层;
例如;一个英雄对象嵌套一层图书信息;
显示指明字段;
为字段添加参数;
序列化;从数据库获取数据转换为json数据等其他数据格式返回给前端
反序列化;对于数据的post与put进行数据的修改与删除等等数据库操作,使用反序列化,获取前端需要操作的json数据等其他格式信息,校验数据(与数据库进行对比),在反序列化里进行修改成模型类对象数据保存,然后返回给前端;
网友评论