1.serializers.py代码示例:
from rest_framework import serializers
from student import models
class StudentModelSerializers(serializers.ModelSerializer):
class Meta:
model = models.Student
fields = "__all__"
#该字段表示在只读,在添加数据时,不能写,只能写字段中声明的字段
read_only_fields = ['id']
2.views.py代码示例:
from django.views import View
from django.http import HttpResponse,JsonResponse
from unsers.serializers import StudentSerializer,StudentModelSerializers
from student import models
import json
# Create your views here.
class StudentView(View):
def get(self,request):
stu_obj = models.Student.objects.all()
serializers =StudentModelSerializers(instance=stu_obj,many=True)
return JsonResponse(serializers.data,safe=False)
def post(self,request):
data = json.loads(request.body)
serializers = StudentModelSerializers(data=data)
serializers.is_valid(raise_exception=True)
serializers.save()
return HttpResponse("添加成功")
def put(self,request):
data = json.loads(request.body)
id= data.get("id")
stu_obj = models.Student.objects.get(id=id)
serializers = StudentModelSerializers(instance=stu_obj,data=data)
serializers.is_valid(raise_exception=True)
serializers.save()
return HttpResponse('修改成功')