Files
ITShowPlatform/history/views.py
T
2022-04-29 20:03:28 +08:00

81 lines
2.5 KiB
Python

from django.http import JsonResponse
from rest_framework.views import APIView
from history.serializers import *
from rest_framework.response import Response
from django.db.models import Q
from django.utils.decorators import method_decorator
from django.views.decorators.csrf import csrf_exempt
from django.core.cache import cache
class DepartmentViewSet(APIView):
# 获取部门信息
@method_decorator(csrf_exempt)
def get(self, request):
response = {
"code": 20000,
"msg": "成功",
}
queryset = Department.objects.all().filter(did=request.GET.get('did'))
serializer = DepartmentSerializer(queryset, many=True)
try:
response["data"] = serializer.data
except:
response['code'] = 40000
response['msg'] = serializer.error_messages
if len(response['data']) == 0:
response['code'] = 40000
response['msg'] = "未返回数据"
else:
response['code'] = 20000
response['msg'] = "成功"
return Response(data=response)
class MemberViewSet(APIView):
# 获取历史成员信息
@method_decorator(csrf_exempt)
def get(self, request):
response = {
"code": 20000,
"msg": "成功",
}
grade = request.GET.get('grade')
did = request.GET.get('did')
try:
queryset = Members.objects.all().filter(Q(did=did) & Q(grade=grade))
serializer = MembersSerializer(queryset, many=True)
except:
response = {
"code": 40000,
"msg": "错误",
}
return Response(data=response)
response["data"] = serializer.data
return Response(data=response)
class HistoryViewSet(APIView):
# 获取历史列表
@method_decorator(csrf_exempt)
def get(self, request):
response = {
"code": 20000,
"msg": "成功",
}
info = []
for i in range(2002, 2022):
data = {'grade': i}
y = []
for j in range(0, 6):
try:
a = History.objects.get(Q(did=j) & Q(grade=i))
except:
continue
x = {'id': a.did, 'department_name': a.department}
y.append(x)
data['data'] = y
info.append(data)
response["data"] = info
return Response(data=response)