版权声明:转载记得署名: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')