• APIView单一资源的查看更新删除


    APIView单一资源的查看更新删除

    一、构建路由
    re_path("author/(/d+)",AuthorDetailView.as_view)),
    二、视图类
    在views.py中添加AuthorDetailView类
    1. class AuthorDetailView(APIView):
    2.     def get(self, request, pk):
    3.         author = Author.objects.get(pk=pk)
    4.         serializer = AuthorSerializer(instance=author,many=False)
    5.         return Response(serializer.data)
    6.     def put(self, request, pk):
    7.         author = Author.objects.get(pk=pk)
    8.         serializer = AuthorSerializer(instance=author, data=request.data)
    9.         if serializer.is_valid():
    10.             serializer.save()
    11.             return Response(serializer.data)
    12.         else:
    13.             return Response(serializer.errors)
    14.     def delete(self, request, pk):
    15.         Author.objects.get(pk=pk).delete
    16.         return Response()


    三、修改序列化器类


    在serializers.py中添加update方法

    1. class AuthorSerializer(serializers.Serializer):
    2.     name = serializers.CharField(max_length=32)
    3.     age = serializers.IntegerField()
    4.     def create(self,validated_data):
    5.         author_obj = Author.objects.create(**validated_data)
    6.         return author_obj
    7.     def update(self, instance, validated_data):
    8.         Author.objects.filter(pk=instance.pk).update(**validated_data)
    9.         return instance
    四、代码测试,用浏览器或者Postman


        API : http://127.0.0.1:8000/stu/author/2/ 

  • 相关阅读:
    鸿蒙App动画、弹窗
    SQL SERVER 如何实现UNDO REDO 和PostgreSQL 有近亲关系吗
    安装Hadoop下hive的问题
    快速排序算法的递归和非递归
    Leetcode《图解数据结构》刷题日志【第三周】(2022/10/31-2022/11/06)
    虚拟试穿VTNFP论文笔记
    Go 项目代码布局
    责任链模式(Chain of Responsibility)
    SpringCloud集成Nacos配置管理
    HTTP版本、状态码
  • 原文地址:https://blog.csdn.net/vivigege/article/details/134271579