django serializers

    restful 编写规则,表征性状态转移。通过http协议将网上的实体通过get/post/put/delete进行操作。而传递实体,是通过json形式传递。

    django+http协议

    django自带的json格式转换json.dumps()将json格式转化成字符串,通过djangoviews进行函数处理,获得数据后,然后通过json.load()将字符串格式转化成json格式,通过url,http传到网上。

    而django自身不能对datetime和image进行转化成json数据,因此出现了serializers这个包,可以处理,将所有数据格式转化成json格式,

import json 
from django.core import serializers
json_data = serializers.serialize("json", goods)

然后通过JsonResponse()将json格式数据传回给客户端。浏览器解析json(json是javascript对象表示方法)

这样django通过serializer进行对实体进行json转换,然后通过JsonResponse返回html。

 

ModelSerializer 类提供了一个快捷方式,可让你基于 Models 自动创建一个 Serializer 类,其中的字段与模型类字段对应。

ModelSerializer 类与常规 Serializer 类相同,不同之处在于:

  • 它会根据模型自动生成一组字段。

  • 它会自动为序列化类生成验证器,例如 unique_together 验证器。

  • 它包含 .create().update() 的简单默认实现。

声明 ModelSerializer 如下所示:

from rest_framework import serializers

class AccountSerializer(serializers.ModelSerializer):
    class Meta:
        # 指定对哪个模型进行序列化
        model = Account 
        # 指定包含哪些字段
        fields = ('id', 'account_name', 'users', 'created')

默认情况下,该类中的所有模型类字段将被映射为相应的序列化类字段。
任何关系(如模型上的外键)都将映射到 PrimaryKeyRelatedField 。除非在序列化关系文档中指定,否则默认不包括反向关系。

 

转载于:https://my.oschina.net/u/3955849/blog/2985874

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值