源代码下的关系

发布时间 2023-12-26 08:40:07作者: 拆尼斯、帕丁顿

get请求获取多个数据
def get(self, request):
user_gs = models.User.objects.all()
user_set = UserSerializer(instance=user_gs, many=True)
return Response(user_set.data)
views
APIView
post请求添加数据
get请求获取单个数据
def post(self, request):

user_set = UserSerializer(data=request.data)

if user_setis_valid0:user_set.save(return Response(user_set.data)

else:return Response(错误信息)

def get(self, request, pk)

:user = models.User.objects.filter(pk=pk).first(user_set = UserSerializer(instance=user)

return Response(user_set.data)

def put(self, request, pk)

:user = models.User.objects.filter(pk=pk).first(user_set = UserSerializer(instance=user, data=request.data)

if user_set.is_valid():

user_set.save()

return Response(user_set.data)

else:return Response(错误信息)

put请求修改数据
def delete(self, request, pk):delete请求删除数据if res[0] > 0:

return Response(")else:return Response(错误信息)
res = models.User.objects.filter(pk=pk).delete(
响应请求: get请求获取多条数据使用继承搭配:GenericAPIViewListModelMixin        属性定义:queryset、serializer_class方法内部:self.list(request)
响应请求: post请求添加数据使用继承搭配:GenericAPIViewCreateModelMixin        属性定义:queryset、serializer_class方法内部: self.create(request)
响应请求: get请求获取单条数据使用导入继承搭配: GenericAPIViewRetrieveModelMixinmixins属性定义: queryset、serializer_class方法内部: self.retrieve(request,*args,**kwargs)
响应请求: put请求修改数据使用继承搭配:GenericAPIViewUpdateModelMixin        属性定义:queryset、serializer_class方法内部:self.update(request, *args, **kwargs)
响应请求: delete请求删除数据使用继承搭配:GenericAPIViewDestroyModelMixin      属性定义:queryset、serializer_class方法内部: self.destroy(request,*args,**kwargs)
rest_framework
generics
继承views.APIView导GenericAPIView        使用属性定义: queryset、serializer_class方法内部: self.get_queryset0)
self.get_serializer() 继承关系mixins.ListModelMixinGenericAPIView  导入ListAPIView使用响应请求: get请求获取多条数据属性定义: queryset、serializer_class继承关系mixins.CreateModelMixinGenericAPIView>CreateAPIView使用响应请求: post请求添加数据属性定义: queryset、serializer_class
继承关系mixins.ListModelMixinmixins.CreateModelMixin
GenericAPIViewListCreateAPIView          使用响应请求: get请求和post请求属性定义: queryset、serializer_class继承关系mixins.RetrieveModelMixin
GenericAPIViewRetrieveAPIView使用响应请求: get请求单条数据属性定义: queryset、serializer_class
导入
继承关系mixins.UpdateModelMixin,GenericAPIView
导入
使用响应请求: put请求更新数据属性定义: queryset、serializer_class
UpdateAPIView
继承关系mixins.DestroyModelMixinGenericAPIView
导入
DestroyAPIView
使用响应请求: delete请求删除数据属性定义: queryset、serializer_class继承关系mixins.RetrieveModelMixin
mixins.UpdateModelMixinGenericAPIViewRetrieveUpdateAPIView使用响应请求: get请求和put请求属性定义: queryset、serializer_classmixins.RetrieveModelMixin继承关系mixins.DestroyModelMixinGenericAPIViewRetrieveDestroyAPIView
使用响应请求: get请求和delete请求属性定义: queryset、serializer_classmixins.RetrieveModelMixin

继承关系

mixins.DestroyModelMixinGenericAPIView使用响应请求: get请求&delete请求&put请求属性定义: queryset、serializer_classRetrieveUpdateDestroyAPIView

继承关系
mixins.CreateModelMixinmixins.RetrieveModelMixinmixins.UpdateModelMixinmixins.DestroyModelMixinmixins.ListModelMixinGenericViewSet
viewsets
ModelViewSet
响应请求:五个都可以接受使用属性定义: queryset、serializer_class  

路由配置:as_view(["get": "list","post":"create"3)as_view(("get"."retrieve""put"."update","delete":"destroy"))

mixins.RetrieveModelMixin继承关系mixins.ListModelMixin
GenericViewSetReadOnlyModelViewSet      响应请求:两个只读请求使用属性定义: queryset、serializer_class  路由配置:as_view(("get"."list",))as_view((get"."retrieve",))
继承关系ViewSetMixingenerics.GenericAPIView  响应请求: get请求&delete请求&put请求属性定义: queryset、serializer_class方法内部使用self.get_queryset()self.get_serializer(路由配置:as_view(("key"."values")ps: 方法可以自定制名,注意路由配置
GenericViewSet
ViewSetMixinviews.APIView
继承关系
导入
请求响应:1.按照继承APIView的方法使用2.因继承了ViewSetMixin注意路由写法3.可以自定制方法名,注意路由配置路由配置:as_view((key":"values",))
ViewSet
使用
这是一个魔法使用只要继承了它路由的写法就需要ViewSetMixinas_view(("key"."values")ps: 注意查找顺序,ViewSetMixin写在左边