• 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/ 

  • 相关阅读:
    算法进阶-2sat-cf-1385G
    Servlet之Request&Reponse 学习笔记
    【STL***list容器三】
    【数据结构】—— 树状数组
    文件权限、scp命令
    nmap保存到扫描文件(局域网)
    计算机竞赛 题目:基于大数据的用户画像分析系统 数据分析 开题
    vue2中seo时使用vue-meta-info
    多电脑共享鼠标键盘
    微信小程序列表渲染
  • 原文地址:https://blog.csdn.net/vivigege/article/details/134271579