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 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 get(self, request): students = Student.objects.all() # query_set id = request.query_params.get('id') status = request.query_params.get('status') admission_year = request.query_params.get('admission_year') classroom_id = request.query_params.get('classroom_id') sort = request.query_params.get(ORDERING_PARAM) if id: students = students.filter(pk=id) if status: students = students.filter(status=status) if admission_year: students = students.filter(admission_year=admission_year) if classroom_id: students = students.filter(classroom_id=classroom_id) if sort: students = students.order_by(f'{sort}') serializer = StudentSerializer(students, many=True) # paginate page = self.paginate_queryset(students) if page: serializer = self.get_paginated_response(StudentSerializer(page, many=True).data) return Response(serializer.data)
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 students(self, request, pk=None): course = self.get_object() # Obtain course's students from enrollments. students = [] for enr in course.enrollment_set.all(): students.append(enr.student) students = StudentSerializer(students, many=True).data return Response(students)
def get(self, request): user = request.user try: student = Student.objects.get(account=user) except Exception: raise serializers.ValidationError( 'Your account is don\'t have permissions to acess this information' ) serializer = StudentSerializer(student) return Response(serializer.data)
def test_retrieve_students(self): """Test retrieving students by user school""" sample_objects.get_student(sample_objects.get_school()) sample_objects.get_student(self.staff.school) res = self.client1.get(STUDENTS_URL) students = Student.objects.filter(school=self.staff.school) serializer = StudentSerializer(students, many=True) self.assertEquals(res.status_code, status.HTTP_200_OK) self.assertEquals(len(res.data), 1) self.assertEquals(res.data, serializer.data)
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): 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 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 students(self, request, pk=None): subject = self.get_object() if request.method == 'GET': serialized = StudentSerializer(subject.students, many=True) return Response(status=status.HTTP_200_OK, data=serialized.data) if request.method == 'POST': students_ids = request.data.get('students') for id in students_ids: student = Student.objects.get(id=id) subject.students.add(student) subject.save() return Response(status=status.HTTP_200_OK)
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)
class SchoolSerializer(serializers.ModelSerializer): students = StudentSerializer(many=True, required=False) students_count = serializers.IntegerField(read_only=True) class Meta: model = School fields = ('id', 'name', 'maximum_students_count', 'students', 'students_count') extra_kwargs = { 'id': { 'required': False }, 'students': { 'required': False }, 'students_count': { 'required': False }, }
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 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 get(self, request, student_id, format=None): student = self.get_object(student_id) serializer = StudentSerializer(student, many=True) return Response(serializer.data)
def students(self, request, pk=None): course = self.get_object() students = course.students.all() serialized = StudentSerializer(students, many=True) return Response(status=status.HTTP_200_OK, data=serialized.data)
def send_email(self, request, pk=None): subject = self.get_object() serialized = StudentSerializer(subject.students.all(), many=True) date_to = datetime.now() + timedelta(minutes=2) send_email_to_students.apply_async(args=[serialized.data], eta=date_to) return Response(status=status.HTTP_200_OK)
def get(self, req, pk): student_obj = get_object_or_404(Student, id=pk) student_serialized = StudentSerializer(student_obj) return Response(status=status.HTTP_200_OK, data=student_serialized.data)
def get(self, request, pk, format=None): courses = Student.objects.filter(courses=pk) serializer = StudentSerializer(courses, many=True) return Response(serializer.data)
def get(self, req): students = Student.objects.all() students_serialized = StudentSerializer(students, many=True) return Response(status=status.HTTP_200_OK, data=students_serialized.data)
def get(self, request, pk, format=None): student = self.get_object(pk) serializer = StudentSerializer(student) return Response(serializer.data)
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 get(self, request, format=None): students = Students.objects.all() serializer = StudentSerializer(students, many=True) return Response(serializer.data)
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)