from django.shortcuts import render from rest_framework.generics import GenericAPIView from rest_framework.response import Response from rest_framework.viewsets import ModelViewSet from .models import Department,Duty,Staff from .serializers import DepartmentSer,StaffSer,DutySer from rest_framework.views import APIView #部门查询所有和添加 class DepartmentAPIView(APIView): def get(self,request): department_list=Department.objects.all() dep_ser=DepartmentSer(department_list,many=True) return Response(dep_ser.data) def post(self, request): name = request.data.get("name") if Department.objects.filter(name=name): return Response({"code": 400, "msg": "有该部门不能添加"}) else: ser = DepartmentSer(data=request.data)#创建一个实例化对象 ser.is_valid() ser.save() return Response({"code": 200, "msg": "添加成功"}) #部门查询单个,删除,修改 class DepupdateAPIView(APIView): def get(self,request,pk): dep= Department.objects.get(id=pk) ser=DepartmentSer(dep) return Response({"code":200,"msg":"获取成功","data":ser.data}) def put(self,request,pk): dep=Department.objects.filter(id=pk).first() data=request.data ser=DepartmentSer(data=data,instance=dep) if ser.is_valid(): ser.save() return Response({"code": 200, "msg": "修改成功"}) else: return Response({"code":400,"msg":"验证失败"}) def delete(self,request,pk): dep=Department.objects.filter(id=pk).delete() return Response({"code":200,"msg":"删除成功"}) class DepartmentGen(GenericAPIView): queryset= Department.objects.all() serializer_class = DepartmentSer def get(self,request): dep=self.get_queryset() dep_ser=self.get_serializer(dep,many=True) return Response({"code":200,"msg":"获取数据成功",'data':dep_ser.data}) def post(self,request): name=request.data.get("name") if Department.objects.filter(name=name): return Response({"code":400,'msg':"有改部门不能进行添加"}) else: data=request.data ser=self.get_serializer(data=data) ser.is_valid() ser.save() return Response({"code":200,"msg":"添加部门成功"}) class DepartmentGenDel(GenericAPIView): queryset = Department.objects.all() serializer_class = DepartmentSer def get(self,request,pk): dep=Department.objects.filter(id=pk).first() print("查询出的数据",dep) if dep: ser=self.get_serializer(dep,many= True) print("序列化后的对象:",ser) return Response({"code":200,"msg":"查询成功","data":ser.data}) else: return Response({"code":400,"msg":"没有该条数据"}) #职责 获取全部数据和添加 class DutyAPIView(APIView): def get(self,request): duty=Duty.objects.all() ser=DutySer(duty,many=True) print("1111111111111111",ser) return Response({"code":200,"msg":"获取自责所有数据","data":ser.data}) def post(self,request): name=request.data.get("name") if Duty.objects.filter(name=name): return Response({"code":400,"msg":"有该职责不能进行添加"}) else: ser=DutySer(data=request.data) ser.is_valid() ser.save() return Response({"code":200,"msg":"添加成功"}) #员工 class StaffAPIView(ModelViewSet): queryset = Staff.objects.all() serializer_class = StaffSer lookup_field = "pk" lookup_url_kwarg = "pk" def create(self, request, *args, **kwargs): print("打印数据",request.data) name=request.data.get("name") sex=request.data.get("sex") phone=request.data.get("phone") email=request.data.get("email") department=request.data.get("department") duty=request.data.get("duty") if Staff.objects.filter(name=name,sex=sex,phone=phone,email=email,department_id=department,duty_id=duty): return Response({"code":400,"msg":"改工作人员已存在不可以进行添加"}) else: staff=Staff.objects.create(name=name,phone=phone,email=email,department_id=department,duty_id=duty) return Response({"code":200,"msg":"添加成功","data":staff.data})
views视图
最新推荐文章于 2022-08-14 17:10:34 发布