码迷,mamicode.com
首页 > 其他好文 > 详细

django项目序列化serializers

时间:2020-04-19 00:51:22      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:new   rom   class   users   errors   time   app   from   安装   

第一步,安装

pip install djangorestframework

第二步,在settings.py里去注册应用

INSTALLED_APPS = [rest_framework
]

第三步,在合适的路径下创建一个serializers.py文件,内容如下:

主要目的是获取不同表的字段,将多个表中的字段集中为一个大的集合,方便调用

1.model指定序列化的表

2.fields指定需要的字段

3.将一个序列化的实例放入到另一个序列化里,那么在这个当前序列化里也可以调用这个实例的字段,也就是把2个表中的字段集合到了一起

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

class NewsCategorySerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = NewsCategory
        fields = [id,name]


class NewsSerializer(serializers.HyperlinkedModelSerializer):
    category = NewsCategorySerializer()
    author = UserSerializer()
    class Meta:
        model = News
        fields = [id,title,desc,thumbnail,category,author,pub_time]


class CommentSerializer(serializers.HyperlinkedModelSerializer):
    author = UserSerializer()
    class Meta:
        model = Comment
        fields = [id,content,author,pub_time]

第四步,在视图中导入serializers.py文件,调用此文件把要序列化的实例放进去实现序列,然后在通过ajax把数据得到

many=True:表示queryset对象,False表示为model对象,默认为False

def news_comment(request):
    commentform = CommentForm(request.POST)
    print(request.POST)
    print(commentform.is_valid())
    if commentform.is_valid():
        content = commentform.cleaned_data.get(content)
        news_id = commentform.cleaned_data.get(news_id)
        news = News.objects.get(pk=news_id)
        comment = Comment.objects.create(content=content,news=news,author=request.user)
        serializer = CommentSerializer(comment,many=True)
        return restful.result(data=serializer.data)
    else:
        return restful.params_error(message=commentform.get_errors())

 

django项目序列化serializers

标签:new   rom   class   users   errors   time   app   from   安装   

原文地址:https://www.cnblogs.com/fengzi7314/p/12729286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!