序列化组件简单使用


序列化组件是什么

把python当中的对象转成json格式字符串,前后端分离是不能将对象返回,之前我们用的json又不能序列化对象只能序列化字典或者列表所以有了序列化组件

第一步

第二步

在视图中导入

rom rest_framework.views import APIView
from rest_framework.serializers import Serializer
from rest_framework.response import Response

Serializer是序列化的类

将数据库表数据获取出来

视图里面写cbv

Django内置的serializers(把对象序列化成json字符串)

from django.core import serializers
class Books(APIView):
     def get(self,request):
         books=models.Book.objects.all()
         ret = serializers.serialize("json", books)
         return HttpResponse(ret)

返回结果

Django内置的serializers非常的不好难以控制,把所有的信息有返回,不推荐使用,了解即可

序列化使用步骤

使用drf的序列化组件

1 新建一个序列化类继承Serializer

注意:序列化的类不能写在视图中,写在单独的py文件

2 在类中写要序列化的字段

在视图中使用序列化的类

1 实例化序列化的类产生对象,在产生对象的时候,传入需要序列化的对象(queryset)

2 对象.data

3 return Response(对象.data)

class Books(APIView):
     def get(self,request):
         response = {'code':100,'msg':'查询成功'}
         books=models.Book.objects.all()
         bookser = BookSerializer(books,many=True)
         response['data'] = bookser.data
         return Response(response)

#many=True,有时候序列化传过来的是一条,也有可能是多条,多条就要加上many=True,序列化一条可以不写,如果是一条可迭代对象可以是True,如果是单个对象就要用False

优质内容筛选与推荐>>
1、三,读取文件
2、x为正变数,求y=x^3/(x^4+4)的最大值
3、Exception in thread "main" java.util.InputMismatchException
4、Java基本类型与包装类
5、不需要浮动的标签


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn