单爆手

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 一.对一个资源的五个操作: 如users资源:

序列化是把模型/表中数据以json格式的数据返回给前端,反序列化是把前端通过http post提交过来的json格式数据(data)插入到数据库。

小知识点:只要看到queryset就一定跟数据库有关系(从数据库拿数据)

1.get请求,获取资源,有两类:
        1.1获取列表
            返回列表 [{},{}]
            请求的url =>/api/users/
        2.2获取单个对象
            返回对象 {}
            请求的url =>/api/users/1/  1是id或pk
    2.post请求,创建/增加一条记录,:
        请求的url =>/api/users/
        传参body体中:=>且必须是json格式
            如提交数据:{"username":"rock","email":"rock@qq.com","password":"123456"}         
    3.put请求,更新一条记录:
        请求的url =>/api/users/1/
        数据也是body体中=>且是json
        如修改数据提交:{"username":"rock","email":"rock@qq.com"}
    4.patch请求,更新一条记录:
        请求的url =>/api/users/1/
        数据也是在body体中且json格式
        如修改数据提交:{"username":"rock","email":"rock@qq.com"}
        put和patch的区别是:如更新的资源有50个字段,如果是put请求修改的数据在body体的json中除了id不用传外其它所有49个字段都必须得传,只要少传一个字段就会出错。而patch请求呢只需传你要更新的那个字段即可。
    
    5.delete请求,删除一条记录:
        请求的url =>/api/users/1/
二.无论是序列化还是返序列化还是创建记录都交给序列化类(都是对它的调用),但是它们交给序列化的方式不同(传的参数不一样):
IdcSerializer =>序列化类
1.1序列化单个对象:
    IdcSerializer(object, many=False)
1.2.序列化多个对象:
    IdcSerializer(queryset, many=True) 
1.3返序列化(新增加一条记录):content是http post提交过来的数据
    IdcSerializer(data=content)
1.4更新一条记录:
    IdcSerializer(object,data=content)

 

 

 

 

11

22

 

posted on 2020-06-21 12:46  单爆手  阅读(186)  评论(0编辑  收藏  举报