def add_assessment(cleaned_main, cleaned_optional, subject): #user updates = {} assessment = Assessment() assessment.subject = subject assessment.total_rating = cleaned_main['total_rating'] assessment.year_taken = cleaned_main['year_taken'] updates['total_rating'] = assessment.total_rating if cleaned_optional['difficulty']: if cleaned_optional['difficulty'] > 0: assessment.difficulty = cleaned_optional['difficulty'] updates['difficulty'] = assessment.difficulty if cleaned_optional['time_demanding']: if cleaned_optional['time_demanding'] > 0: assessment.time_demanding = cleaned_optional['time_demanding'] updates['time_demanding'] = assessment.time_demanding if cleaned_optional['lecture_quality']: assessment.lecture_quality = cleaned_optional['lecture_quality'] updates['lecture_quality'] = assessment.lecture_quality if cleaned_optional['theory_vs_practice']: if cleaned_optional['theory_vs_practice'] > 0: assessment.theory_vs_practice = cleaned_optional['theory_vs_practice'] updates['theory_vs_practice'] = assessment.theory_vs_practice if cleaned_optional['comment']: assessment.comment = cleaned_optional['comment'] assessment.subject.update_ratings(updates) subject.save() assessment.save()
def save(self, commit=True): newassessment = Assessment( begindate=self.cleaned_data["begindate"], enddate=self.cleaned_data["enddate"], term=self.cleaned_data["term"], excellent=self.cleaned_data["excellent"], good=self.cleaned_data["good"], ordinary=self.cleaned_data["ordinary"], ) if commit: newassessment.save() # generate the records for i in Class.objects.all(): for student in i.student_set.all(): for exstudent in i.student_set.all(): newAssessmentRecord = AssessmentRecord( assessment=newassessment, ostudent=student, dstudent=exstudent, result="3" ) #'3'------>'无' newAssessmentRecord.save() # generate rows for i in Class.objects.all(): for student in i.student_set.all(): newAssessmentRow = AssessmentRow( assessment=newassessment, student=student, excellent=0, good=0, ordinary=0 ) newAssessmentRow.save() return newassessment
def send_assessment(request): if request.method != 'POST': return Http404 requester = long(request.POST['requester']) assessment = long(request.POST['assess']) ass = Assessment(requester=requester, assess=assessment) ass.save() return HttpResponse('ok')
def post(self): """Create new assessment""" atitle = request.get_json()['atitle'] adescription = request.get_json()['adescription'] questions = request.get_json()['questions'] scores = request.get_json()['scores'] new_assessment = Assessment(atitle=atitle, adescription=adescription, questions=questions, scores=scores) try: new_assessment.save() except UniqueViolatedError: return jsonify(error="Duplicated assessment title"), 409 return jsonify(message="ok")
def save(self, commit=True): newassessment = Assessment(begindate=self.cleaned_data['begindate'], enddate=self.cleaned_data['enddate'], term=self.cleaned_data['term'], excellent=self.cleaned_data['excellent'], good=self.cleaned_data['good'], ordinary=self.cleaned_data['ordinary']) if commit: newassessment.save() #产生行评价记录,后续考虑性能优化 for i in Class.objects.all(): for student in i.student_set.all(): newassessmentRow = AssessmentRow(assessment=newassessment, student=student, excellent=0, good=0, ordinary=0) newassessmentRow.save() return newassessment
def save(self,commit=True): newassessment = Assessment(begindate=self.cleaned_data['begindate'],\ enddate=self.cleaned_data['enddate'],term=self.cleaned_data['term'],\ excellent=self.cleaned_data['excellent'],good=self.cleaned_data['good'],\ ordinary=self.cleaned_data['ordinary']) if commit: newassessment.save() #generate the records for i in Class.objects.all(): for student in i.student_set.all(): for exstudent in i.student_set.all(): newAssessmentRecord = AssessmentRecord(assessment=newassessment,\ ostudent=student,dstudent=exstudent,\ result='3')#'3'------>'无' newAssessmentRecord.save() #generate rows for i in Class.objects.all(): for student in i.student_set.all(): newAssessmentRow = AssessmentRow(assessment=newassessment,student=student,\ excellent=0,good=0,ordinary=0) newAssessmentRow.save() return newassessment