Django REST framework 学习笔记(一)

serializer.py


# 声明序列化器
from rest_framework import serializers


# 所有的自定义序列化器必须直接或间接的继承与 serializers.Serializer
class StudentSerializer(serializers.Serializer):
    # 1. 字段声明 [ 要转换的字段,如果写了第二部分代码,有时候也可以不写字段声明 ]
    id = serializers.IntegerField()
    name = serializers.CharField()
    age = serializers.IntegerField()
    sex = serializers.CharField()

    # 2. 可选 [ 如果序列化器继承的是ModelSerializer,则需要声明对应的模型和字段 ]

    # 3. 可选 [ 用于对客户端提交的数据校验 ]

    # 4. 可选 [ 用于把通过校验的数据进行数据库操作,保存到数据库 ]
views.py


from django.http import JsonResponse
from django.views import View

from drf.models import Student
from .serializer import StudentSerializer


class StudentView(View):
    '''
    使用序列化器进行数据序列化操作
    序列化器转换数据[ 模型转换为字典 ]
    '''

    def get(self, request, id):
        # 接收参数
        student = Student.objects.get(id=id)

        # 转换数据格式
        # 1. 实例化序列化器
        # StudentSerializer(模型对象或模型列表, 客户端提交的数据, 额外要传递到序列化器中使用的数据)
        # 如果有多个模型对象参数,则必须声明many=True
        serializer = StudentSerializer(student)
        # 2. 获取序列化器转换结果
        print(serializer.data)
        return JsonResponse(serializer.data)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值