这是我的model里面的表
1 class User(models.Model): 2 username = models.CharField(max_length=32,verbose_name='用户名') 3 age = models.IntegerField(verbose_name='年龄',null=True) 4 home = models.CharField(max_length=32,verbose_name='家乡') 5 6 class Meta: 7 db_table = 'user'
普通序列化
from rest_framework import serializers #倒入rest_framework里面的serializers
class UserSer(serializers.Serializer):
username = serializers.CharField(max_length=32) #把每个字段添入其中
age = serializers.IntegerField(allow_null=True) #年龄可以为null
home = serializers.CharField(max_length=32)
######################################################################
查到的数据
{
"username": "孔加贝月月",
"age": 19,
"home": "河南"
},
{
"username": "尼大爷",
"age": 20,
"home": "河北"
},
{
"username": "尼大娘",
"age": 21,
"home": "湖北"
},
{
"username": "尼你妹",
"age": 20,
"home": "湖南"
},
{
"username": "孔大爷",
"age": 100,
"home": "你心里"
}
添加数据的序列化
from rest_framework import serializers
from app01.models import User
#还是刚刚那个序列化只不过是添加了一些代码
class UserSer(serializers.Serializer):
username = serializers.CharField(max_length=32)
age = serializers.IntegerField(allow_null=True)
home = serializers.CharField(max_length=32)
#序列化添加数据
def create(self,validated_data):
return User.objects.create(**validated_data)
##相对应views里面的代码
def post(self,request):
data = request.data
user = UserSer(data=data)
try:
user.is_valid()
user.save()
return Response('成功')
except Exception:
print('序列化加入未成功')
return Response('失败')
修改的序列化
class UserSer(serializers.Serializer):
username = serializers.CharField(max_length=32)
age = serializers.IntegerField(allow_null=True)
home = serializers.CharField(max_length=32)
#序列化添加数据
def create(self,validated_data):
return User.objects.create(**validated_data)
#这里开始是修改的序列化
def update(self, instance, validated_data):
instance.username = validated_data.get('username',instance.username) #把他的每个字段都写入其中进行修改
instance.age = validated_data.get('age',instance.age)
instance.home = validated_data.get('home',instance.home)
instance.save() #提交 修改
return instance
#修改相对应的views里的代码
def put(self,request):
data = request.data
user = User.objects.filter(id=data.get('id')).first()
update_user = UserSer(user,data=data)
try:
update_user.is_valid()
update_user.save()
return Response('成功')
except Exception as e:
print(e)
return Response('失败')

浙公网安备 33010602011771号