serializer_class = BookSerializerdefget(self, request):returnself.list(request)defpost(self, request):returnself.create(request)classBookDetailView(GenericAPIView, RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin): queryset = Book.objects serializer_class = BookSerializerdefget(self, request, pk)...
ser= self.get_serializer(data=request.data)ifser.is_valid(): ser.save()returnResponse({'code': 100,'msg':'成功'})else:returnResponse({'code': 100,'msg': ser.errors}) 查、改(代码全貌): classBookDetailView(GenericAPIView): queryset=Book.objects.all() serializer_class=BookSerialzierdefg...
defget_permissions(self):# action 属性只有使用 viewset 的时候才存在ifself.action=='retrieve':return[permissions.IsAuthenticated()]elifself.action=='create':return[]return[] 需要多个 serializer 如果一个 viewset 需要多个 serializer,可以重写 get_serializer_class 方法 defget_serializer_class(self):ifse...
from app02drf.serializers.drfcity_serializer import DrfCitySerializer from app02drf.models import DrfCity class DrfCityDetailView(APIView): def get(self, req, id): queryset = DrfCity.objects.get(pk=id) city_serializer = DrfCitySerializer(instance=queryset) return Response(city_serializer.data) ...
def get_serializer_class(self): """ Return the class to use for the serializer. Defaults to using `self.serializer_class`. You may want to override this if you need to provide different serializations depending on the incoming request. ...
Python DRF(djangorestframework)教程:DRF的两个序列化器类介绍(Serializer类和ModelSerializer类),利用DRF开发WebAPI的第一步总是自定义序列化器(serializers)。序列化器的作用是将模型实例(比如用户、文章)序列化和反序
首先在ClassSerializer中去除cls_stu属性 然后在ClassSerializer中增加一个属性get_cls_stu_count, 并把这个属性添加到Meta的fields列表里 添加一个get_cls_stucount方法,这个方法的命名规则就是在上面声明的属性前面加上个'get'前缀,并接受一个obj参数,这个obj参数就是当前的ClassInfo对象实例。
defget_serializer_class(self):returnBookInfoModelSerializer get_serializer(self, _args, *_kwargs)返回序列化器对象,被其他视图或扩展类使用,如果我们在视图中想要获取序列化器对象,可以直接调用此方法。 详情视图使用 get_object(self)返回详情视图所需的模型类数据对象,默认使用lookup_field参数来过滤queryset。
path('api/blog/<int:pk>/',five.BlogView.as_view({"get":"retrieve"})), 视图函数的编写方式 原来使用GenericViewSet类来编写的方式为: fromrest_framework.mixinsimportRetrieveModelMixin# 序列化类classBlogSerializer(serializers.ModelSerializer):classMeta:model=models.Blogfields="__all__"classBlogView...
returnReadOrderCenterSerializerelse:# 当不是list 和 retrieve的时候用下面的序列化器returnself.serializer_class#更新defupdate(self,request,*args,**kwargs):partial=kwargs.pop('partial',False)# 请求方式为patch的时候partial:Trueinstance=self.get_object()# 发送的数据传orderBusinessArea_id 这里处理将...