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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
	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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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, 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)
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
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)
Ejemplo n.º 11
0
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)
Ejemplo n.º 12
0
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)
Ejemplo n.º 13
0
	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)
Ejemplo n.º 14
0
 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)
Ejemplo n.º 15
0
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)