25. Django_framework_序列化2

新增接口:

 def post(self,request):
        #新增项目
        json_data = request.body.decode('utf-8')
        python_data= json.loads(json_data,encoding='utf-8')
        project = Projects.objects.create(**python_data)

        serializer = ProjectsSerializer(project)

        return JsonResponse(serializer.data,status=201)

修改接口:

    def put(self,request,pk):
        # 1.校验前端传递的pk(项目ID),类型正整数,是否存在
        # 2.获取指定id为pk的待修改项目
        project = Projects.objects.get(id = pk)
        #3.从前端获取json格式的数据,
        # 为了严谨,需要做各种检验
        # 比如:是否为json,传递的数据是否符合格式,必须传入的参数是否携带
        json_data = request.body.decode('utf-8')
        python_data = json.loads(json_data, encoding='utf-8')

        #4.更新项目
        project.name= python_data['name']
        project.leader=python_data['leader']
        project.tester=python_data['tester']
        project.programer=python_data['programer']
        project.publish_app=python_data['publish_app']
        project.desc=python_data['desc']

        #保存
        project.save()

        serializer = ProjectsSerializer(instance=project)
        # 6.json格式返回
        return JsonResponse(serializer.data,status=201)

删除项目接口

    def delete(self,request,pk):
        # 1.校验前端传递的pk(项目ID),类型正整数,是否存在
        # 2.获取指定id为pk的待修改项目
        project = Projects.objects.get(id=pk)
        project.delete()
        return JsonResponse(None,safe=False,status=204)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值