def post(self, request): student = StudentSerializer(data=request.data) try: student.is_valid(raise_exception=True) student.save() return Response(data=student.data, status=status.HTTP_201_CREATED) except serializers.ValidationError: return Response(student.errors, status=status.HTTP_400_BAD_REQUEST)
def put(self, request): # Need id id = request.query_params.get('id') if id: student = get_student(id) serializer = StudentSerializer(student, data=request.data, partial=True) try: serializer.is_valid(raise_exception=True) serializer.save() return Response(serializer.data, status=status.HTTP_200_OK) except serializers.ValidationError: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) else: return Response({'id query param need to be provided'}, status=status.HTTP_400_BAD_REQUEST)
def post(self, req): student = StudentSerializer(data=req.data) if student.is_valid(): student.save() return Response(status=status.HTTP_201_CREATED) else: return Response(status=status.HTTP_400, data=student.errors)
def student_detail(request, sID): """ Retrieve, update or delete a code snippet. """ try: if sID[0]<="m": student = Student.objects.using('student1').get(studentID=sID) else: student = Student.objects.using('student2').get(studentID=sID) except Student.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = StudentSerializer(student) return JSONResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = StudentSerializer(student, data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data) return JSONResponse(serializer.errors, status=400) elif request.method == 'DELETE': enroll_delete(sID=sID) print "test" student.delete() return HttpResponse(status=204)
def put(self, request, student_id, format=None): student = self.get_object(student_id) serializer = StudentSerializer(student, data=request.DATA) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def put(self, req, pk): student_obj = get_object_or_404(Student, id=pk) serialized = StudentSerializer(instance=student_obj, data=req.data, partial=True) if serialized.is_valid(): serialized.save() return Response(status=status.HTTP_200_OK) else: return Response(status=status.HTTP_400_BAD_REQUEST, data=serialized.errors)
def student_list(request,format=None): if request.method == 'GET': snippets = Students.objects.all() serializer = StudentSerializer(snippets, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = StudentSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def student_list(request): if request.method == 'GET': students = Students.objects.all() serializer = StudentSerializer(students, many=True) return JsonResponse(serializer.data, safe=False) elif request.method == 'POST': data = JSONParser().parse(request) serializer = StudentSerializer(data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data, status=201) return JsonResponse(serializer.errors, status=400)
def student_detail(request, pk,format=None): try: student = Students.objects.get(pk=pk) except Students.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = StudentSerializer(student) return Response(serializer.data) elif request.method == 'PUT': serializer = StudentSerializer(student, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': student.delete() return Response(status=status.HTTP_204_NO_CONTENT)
def student_detail(request, pk): try: student = Students.objects.get(pk=pk) except Students.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = StudentSerializer(student) return JsonResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = StudentSerializer(student, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': student.delete() return HttpResponse(status=204)
def student_list(request): """ List all code students, or create a new students. """ if request.method == 'GET': s1 = Student.objects.using('student1').all() s2 = Student.objects.using('student2').all() #students = s1&s2 serializer1 = StudentSerializer(s1, many=True) #print serializer1.data serializer2 = StudentSerializer(s2, many=True) #print serializer2.data return JSONResponse(serializer1.data+serializer2.data) elif request.method == 'POST': data = JSONParser().parse(request) print data serializer = StudentSerializer(data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data, status=201) return JSONResponse(serializer.errors, status=400)
def post(self, request, format=None): serializer = StudentSerializer(data=request.DATA) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def students_view(request): request_data = request.data if request.method == 'GET': grade = request.GET.get("grade") std_dev = request.GET.get("stdDev") sorted_last_name = request.GET.get("sorted_last_name") sorted_age = request.GET.get("sorted_age") sorted_grade = request.GET.get("sorted_grade") student_id = request.GET.get("student_id") if student_id: try: student = Student.objects.get(student_id=student_id) except Student.DoesNotExist: return JsonResponse({"student": "Not Found"}, status=404) serializer = StudentSerializer(student) elif grade: students = Student.objects.filter(school_grade=grade) num_students = len(students) students_avg_grade = students.aggregate(average=Avg('student_average')) res_json = {"num_students": num_students, "school_grade": grade} res_json.update(students_avg_grade) if std_dev: students_stdDev = students.aggregate(std_dev=StdDev('student_average')) students_stdDev['std_dev'] = round(students_stdDev['std_dev'], 2) res_json.update(students_stdDev) serializer = StudentGradeAggSerializer(res_json) else: if sorted_last_name: students = Student.objects.order_by("last_name").all() elif sorted_age: students = Student.objects.order_by("-date_of_birth").all() elif sorted_grade: students = Student.objects.order_by("-school_grade").all() else: students = Student.objects.all() serializer = StudentSerializer(students, many=True) return JsonResponse(serializer.data, safe=False) elif request.method == 'POST': serializer = StudentSerializer(data=request_data) if serializer.is_valid(): serializer.save() return_json = dict(serializer.data) return_json["created_at"] = datetime.now() return JsonResponse(return_json, status=201) return JsonResponse(serializer.errors, status=400) elif request.method == 'DELETE': student_id = request.GET.get("student_id") if student_id: try: student = Student.objects.get(student_id=student_id) except Student.DoesNotExist: return JsonResponse({"student": "Not Found"}, status=404) student.delete() return_json = model_to_dict(student) del return_json["id"] return_json["deleted_at"] = datetime.now() else: Student.objects.all().delete() return_json = {"num_students": 0} return JsonResponse(return_json, status=204)