1.在子应用下创建serializers的python文件
2.在文件里写对应的序列化器
# 创建序列化器
# 1.导包
from rest_framework import serializers
from myapp.models import Teacher
# 普通序列化器
class TeaSerializer(serializers.Serializer):
# 和数据库一样的字段
id = serializers.IntegerField()
name = serializers.CharField()
sex = serializers.CharField()
# 创建create()方法供视图使用
# validated_data 是定义的形参
def create(self, validated_data):
# 添加数据
# 对形参进行拆包 以key:value的形式传入 **kwarges
teas = Teacher.objects.create(**validated_data)
# 返回实例对象
return teas
def update(self, instance, validated_data):
# instance:代表需要修改的对象--老师对象
# validated_data:需要修改的数据
# 需要修改老师的名字 性别
instance.name = validated_data.get("name")
instance.sex = validated_data.get("sex")
# 修改完数据需要重新保存
instance.save()
# 返回对象实例
return instance
模型类序列化器
# 创建序列化器
# 1.导包
from rest_framework import serializers
from myapp.models import Student, Teacher
class TeaSerializer(serializers.ModelSerializer):
# 不需要自己手动添加字段了
# 定义元类
class Meta:
# 指明要操作的模型类
model = Teacher
# 指明要进行操作的字段
fields = "__all__" # 全部字段都参与序列化和反序列化操作


