rest framework框架之序列化

rest framework之序列化基本使用

在这里插入图片描述
在这里插入图片描述
QuerySet是django里面的数据类型,所以要转化为list类型,才能使用json.dumps方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
json.dumps作用是:将序列化后的数据结果,展示在页面上
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为前面的变量定义的是rls,所以自定义的方法为get_rls
在这里插入图片描述
上面的UserInfo为模型类名
在这里插入图片描述

rest framework框架之序列化 深度控制

在这里插入图片描述
depth的值,官方建议范围是0-10

序列化之生成hypermedialink链接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

rest framework框架之序列化验证用户请求数据

# 自定义验证规则
class XXValidator(object):
    def __init__(self, base):
        self.base = base

    def __call__(self, value):
        if not value.startswith(self.base):
            message = '标题必须以 %s为开头' % self.base
            raise serializers.ValidationError(message)

    def set_context(self, serializer_field):
        """
        This hook is called by the serializer instance,
        prior to the validation call being made.
        """
        # 执行验证之前调用,serializer_fields是当前字段对象
        pass


class UserGroupSerializer(serializers.Serializer):
    title = serializers.CharField(error_messages={"required": "标题不能为空"}, validators=[XXValidator('666')])


class UserGroupView(APIView):
    def post(self, request, *args, **kwargs):
        ser = UserGroupSerializer(data=request.data)
        if ser.is_valid():
            print(ser.validated_data)
            print(ser.validated_data["title"])
        else:
            print(ser.errors)
        return HttpResponse("提交数据")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值