五个扩展类需要配合GenericAPIview使用,首先引入
from rest_framework.generics import GenericAPIView from rest_framework.mixins import ListModelMixin,CreateModelMixin, RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin
继承 GenericAPIview我们需要指定查询集和序列化器
# 指定查询集 queryset=Classes.objects.all() # 指定序列化器 serializer_class=Classesserializers
获取多条数据
class GetView(GenericAPIView,ListModelMixin,CreateModelMixin): # 指定查询集 queryset=Classes.objects.all() # 指定序列化器 serializer_class=Classesserializers def get(self, request): return self.list(request)# 添加数据 def post(self, request): return self.create(request)
查询单条数据
扩展类的子类:class ClassItemView(GenericAPIView,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin): # 指定查询集 queryset=Classes.objects.all() # 指定序列化器 serializer_class=Classesserializers def get(self, request, pk): return self.retrieve(request,pk)# 更新单条数据 def put(self, request, pk): return self.update(request,pk)# 删除单条数据 def delete(self, request, pk): return self.destroy(request,pk)
ListAPIView:获取多个数据对象
CreateAPIView:保存数据
RetrieveAPIView:获取单一数据对象
UpdateAPIView:更新数据
DestroyAPIView:删除数据
# 五个扩展类的子类 from rest_framework.generics import ListAPIView,CreateAPIView,RetrieveAPIView,UpdateAPIView,DestroyAPIView from .models import Classes from .serializers import Classesserializers # 查询和添加 class Getmc(ListAPIView,CreateAPIView): queryset = Classes.objects.all() serializer_class = Classesserializers # 查询单条数据,更新和删除 class Getmcs(RetrieveAPIView,UpdateAPIView,DestroyAPIView): queryset = Classes.objects.all() serializer_class = Classesserializers



