get_object() user_ser = self.get_serializer(instance=user_obj,data=request.data) user_ser.is_valid(raise_exception=True) result = {"code": 200, "msg": "update success"} return Response(result) def delete(self,request,id=None): user_obj = self.get_object() user_obj.delete() result...
# 基于GenericAPIView去写classHeroDetailView(GenericAPIView):# 两个类属性queryset = Hero.objects.all()# 全部serializer_class = HeroSerializer# 序列化类defget(self, request, pk):# hero_instance = self.queryset.filter(pk=pk).first() 不要这样写hero_instance = self.get_object() serializer = s...
classBookDetailView(GenericAPIView):# 和上面一样的定义方法queryset=Book.objects.all()serializer_class=BookSerializerdefget(self,request,pk):serializer=self.get_serializer(instance=self.get_object())# get_object就等同于Book.objects.all().filter(pk=pk)# 相当于帮你完成了查询操作returnResponse(serializ...
instance = self.get_object() serializer = self.get_serializer(instance, data=request.data, partial=partial) serializer.is_valid(raise_exception=True) self.perform_update(serializer)if getattr(instance,'_prefetched_objects_cache',None):# If 'prefetch_related' has been applied to a queryset, we...
get_object() book_ser = self.get_serializer(book_query) book_data = book_ser.data return APIResponse(results=book_data)  单取的路由,有名分组,必须叫pk,否则就会报错 代码语言:javascript 代码运行次数:0 运行 AI代码解释 <api.views.BookGenericAPIView object at 0x112135470> - GET - Expected...
def delete(self, request, pk): # 代替 models.Book.objects.filter(id=pk).delete() self.get_object().delete() return Response({'status': 100, 'msg': '删除成功'}) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ...
.has_permission(self, request, view) 是否可以访问视图, view表示当前视图对象 .has_object_permission(self, request, view, obj) 是否可以访问数据对象, view表示当前视图, obj为模型数据对象 例如: 在当前子应用下,创建一个权限文件permissions.py中声明自定义权限类: """自定义权限类""" from rest_framewor...
article = self.get_object(pk) article.delete() return Response(status=status.HTTP_204_NO_CONTENT) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ...
self.child.to_representation(item) for item in iterable File "C:\Users\Simon\.virtualenvs\django_backend-ZmgaAA1F\lib\site-packages\rest_framework\serializers.py", line 509, in to_representation attribute = field.get_attribute(instance)
3. view.get_template_names() 方法调用的返回结果 下面是一个使用 TemplateHTMLRenderer 渲染器的示例: class UserDetail(generics.RetrieveAPIView):queryset = User.objects.all()renderer_classes = (TemplateHTMLRenderer,)def get(self, request, *args, **kwargs):self.object = self.get_object()return ...