美文网首页【python】初学者
框架的序列化与反序列化

框架的序列化与反序列化

作者: 米兰的小铁匠 | 来源:发表于2019-05-13 14:25 被阅读16次

    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数据等其他格式信息,校验数据(与数据库进行对比),在反序列化里进行修改成模型类对象数据保存,然后返回给前端;

    相关文章

      网友评论

        本文标题:框架的序列化与反序列化

        本文链接:https://www.haomeiwen.com/subject/jiblaqtx.html