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()