2018.12.24CLASS276 serializers把数据库的数据回传浏览器时用到的序列化模型

版权声明:转载记得署名:Dr.Yao https://blog.csdn.net/weixin_42879237/article/details/85241411

SERIALIZERS的作用

1.实际上在DJANGO中,从VIEW利用FORMS过滤器把需要的数据提取回页面的时候,数据格式是如图:
在这里插入图片描述
看到调试框里面调取的数据库数据没有,都是一堆以字典形式显示的数据,如果直接把数据调到浏览器,那肯定会被打死。这是用forms调取出来的。
2.这时候我们就要调用rest_framework的serializers这个库了,调用前请安装

pip install djangorestframework

在这里插入图片描述
3.这里是利用SERIALIZERS序列化后的一些实例模型

serializers.py




from rest_framework import serializers
from .models import News,NewsCategory,Comment,Banner
from apps.xfzauth.serializers import UserSerializer

class NewsCategorySerializer(serializers.ModelSerializer):
#这里的NewsCategorySerializer可以直接引用NewsCategory的模型
    class Meta:
        model = NewsCategory
        #fields的作用是你要使用的序列化有哪些变量。这里主要就是需要id,name两个变量
        fields = ('id','name')

class NewsSerializer(serializers.ModelSerializer):
#同样这里的category就调用了NEwsCategorySerializer,author调用了UserSerializer
    category = NewsCategorySerializer()
    author = UserSerializer()
    class Meta:
        model = News
        fields = ('id','title','desc','thumbnail','pub_time','category','author')


class CommentSerizlizer(serializers.ModelSerializer):
    author = UserSerializer()
    class Meta:
        model = Comment
        fields = ('id','content','author','pub_time')

class BannerSerializer(serializers.ModelSerializer):
    class Meta:
        model = Banner
        fields = ('id','image_url','priority','link_to')

这里有网站,不懂得可以自己去浏览详情如何使用

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42879237/article/details/85241411