当前位置: 首页> 科技> 互联网 > 企业邮箱网易_廊坊疫情最新政策_网站优化查询代码_软文推广文章范文

企业邮箱网易_廊坊疫情最新政策_网站优化查询代码_软文推广文章范文

时间:2025/7/9 16:04:05来源:https://blog.csdn.net/zsb706496992/article/details/146564649 浏览次数:0次
企业邮箱网易_廊坊疫情最新政策_网站优化查询代码_软文推广文章范文

1、基础代码基于以下链接去完善

快速入手-基于Django-rest-framework的ModelSerializer模型序列化器(三)-CSDN博客

2、只需要修改api模块中的views.py 

from django.shortcuts import render, HttpResponse
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.generics import GenericAPIView
from .models import *
from api.serializer import *class Linkapi(GenericAPIView):queryset = Link.objects.all()serializer_class = LinkSerializer#  查看所有字段def get(self, request):xuliehua = self.get_serializer(instance=self.get_queryset(), many=True)return Response(xuliehua.data)# 新增数据def post(self, request):# xuliehua = LinkSerializer(data=request.data)xuliehua = self.get_serializer(data=request.data)if xuliehua.is_valid():xuliehua.save()return Response(xuliehua.data)else:return Response(xuliehua.errors)# 指定一条的请求 删除  查一条、修改一条
class Linkapidetail(GenericAPIView):queryset = Link.objects.all()serializer_class = LinkSerializer# 查询单条记录def get(self, request, pk):# 由于单查,更新,删除都调用了这个查询,为了避免错误和集中管理# 可以新建一个方法放查询模型类的sql预计,之后在用try:   except  Exception as e:# 没有查到返回raise HTTP404()# link = Link.objects.get(pk=id)# 序列化# xuliehua = LinkSerializer(instance=link, many=False)xuliehua = self.get_serializer(instance=self.get_object(), many=False)return Response(xuliehua.data)# 更新单条数据def put(self, request, pk):# update_link = Link.objects.get(pk=id)# xuliehua = LinkSerializer(instance=update_link, data=request.data)xuliehua = self.get_serializer(instance=self.get_object(), data=request.data)if xuliehua.is_valid():xuliehua.save()return Response(xuliehua.data)else:return Response(xuliehua.errors)# 更新单条数据中的部分字段  ,和put方法里边内容几乎一样,除了partial=Truedef patch(self, request, pk):# update_link = Link.objects.get(pk=id)# xuliehua = LinkSerializer(instance=update_link, data=request.data, partial=True)xuliehua = self.get_serializer(instance=self.get_object(), data=request.data, partial=True)if xuliehua.is_valid():xuliehua.save()return Response(xuliehua.data)else:return Response(xuliehua.errors)def delete(self, request, pk):# Link.objects.get(pk=id).delete()self.get_object().delete()return Response("删除成功")

3、api模块里的路由写的不规范,需要修改一下

re_path("linkapi/(?P<pk>\d+)", views.Linkapidetail.as_view()),

 4、基于apifox去测试即可

关键字:企业邮箱网易_廊坊疫情最新政策_网站优化查询代码_软文推广文章范文

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: