DjangoRESTframework(七)-五个扩展类的使用(Create、ListModel,Retrieve,Update,Destroy)
一、CreateAPIView
rest_framework.generics.CreateAPIView
作用:创建一个新的模型对象
继承自: GenericAPIView、CreateModelMixin
在CreateModelMixin的原有基础上提供了post方法,内部调用了CreateModelMixin的create方法,使得代码更加精简
1、源代码
class CreateAPIView(mixins.CreateModelMixin,
GenericAPIView):
"""
Concrete view for creating a model instance.
"""
def post(self, request, *args, **kwargs):
return self.create(request, *args, **kwargs)
2、对比使用
继承 GenericAPIView、CreateModelMixin
class CreateApiView(GenericAPIView, CreateModelMixin):
serializer_class = BookSerializer
queryset = BookInfo.objects
def post(self, request):
return self.create(request)
继承CreateAPIView
class _CreateApiView(CreateAPIView):
serializer_class = BookSerializer
queryset = BookInfo.objects
二、ListAPIView
rest_framework.generics.ListAPIView
作用:获取所有模型对象的数据
继承自:GenericAPIView、ListModelMixin
在ListModelMixin的继承上提供了get方法,内部调用了ListModelMixin的list方法
1、源代码
class ListAPIView(mixins.ListModelMixin,
GenericAPIView):
"""
Concrete view for listing a queryset.
"""
def get(self, request, *args, **kwargs):
return self.list(request, *args, **kwargs)
2、对比使用
继承GenericAPIView、ListModelMixin
class ListApiView(GenericAPIView, ListModelMixin):
serializer_class = BookSerializer
queryset = BookInfo.objects
def get(self, request):
return self.list(request)
继承ListAPIView
class _ListApiView(ListApiView):
serializer_class = BookSerializer
queryset = BookInfo.objects
三、RetrieveAPIView
rest_framework.generics.RetrieveAPIView
作用:获取单一模型对象数据
继承自: GenericAPIView、RetrieveModelMixin
在RetrieveModelMixin的基础上提供了get方法,内部调用了RetrieveModelMixin的retrieve方法

最低0.47元/天 解锁文章
2499





