单表序列化 和 单表反序列化
from rest_framework import serializers
from django.db import models
#学生表
class Student(models.Model):
name = models.CharField(max_length=32) #学生姓名
img = models.CharField(max_length=255) #学生照片
class Meta:
db_table = ‘student’ #表名
#学生表的序列化
class StudentSerializer(serializers.ModelSerializer):
class Meta:
model = Student #表名
fields = ‘__all__’ #__all__ 代表所有 。 也可以写成 (‘id’,’name’) 这个就代表这两个字段
#学生表的反序列化
class StudentSerializer(serializers.Serializer):
name = serializers.CharField(max_length=32) #这个字段长度要和表中一致里面属性也要一致
img = serializer.CharField(max_length=32) #
#添加
def create(self, data):
return Student.objects.create(**data)
#修改
def update(self, instance , data):
instance.name = data.get(‘name’, instance.name) #修改名字
instance.img = data.get(‘img’, instance.img) #修改图片路径
instance.save() #提交
return instance #把结果返回