增删改查
from django.shortcuts import render from rest_framework.views import APIView from rest_framework.response import Response from .models import * from .sers import CateSer # 1. 分类接口 class CateView(APIView): # 1.1 新增分类 def post(self, request): # 1.1.1 获取分类名称 name = request.data.get('name') # 天外飞仙 print(name, '-----post') # 1.1.2 判断分类名称是否存在 cate = Cate.objects.filter(name=name).first() if cate: return Response({'msg': '分类已存在', 'code': 200}) # 创建序列化对象 data = {'name': name} cate_ser = CateSer(data=data) # 1.1.3 验证分类名称字段是否合格 if cate_ser.is_valid(): # 1.1.4 存入数据库 cate_ser.save() # 存入数据库/反序列化 # 1.1.5 响应 return Response({'msg': '新增成功', 'code': 200}) else: return Response({'msg': '数据不符合要求', 'code': 400}) # 1.2 查询 def get(self,request): # 1.2.1 查询所有分类 cates = Cate.objects.all() # 1.2.2 序列化---把objectd对象转为json cates_ser = CateSer(cates,many=True) print(cates_ser) #1.2.3返回数据 return Response(cates_ser.data) # 1.3 删除 def delete(self,request): # 1.获取删除的cate_id cate_id = request.data.get('cate_id') print(cate_id,'-----delete') # 2.根据cate_id,查到cate对象 cate = Cate.objects.filter(id=cate_id) # 3.判断cate对象是否存在,存在则删除,不存在则提示不存在 if cate: cate.delete() return Response({'msg': '删除成功', 'code': 200}) else: return Response({'msg': '此分类不存在', 'code': 400}) # 1.4 修改 def put(self,request): # 1.4.1获取要修改的分类id和新的分类名称 cate_id= request.data.get('cate_id') name = request.data.get('name') # 1.4.2查询分类对象 cate = Cate.objects.filter(id=cate_id).first() cate_ser = CateSer(instance=cate, data={'name': name}) # 1.4.3判断分类是否存在 if cate: if cate_ser.is_valid(): cate_ser.save() return Response({'msg': '修改成功', 'code': 200}) else: return Response({'msg': '此分类不存在', 'code': 400}) # 1.4.4返回响应