diff options
author | Palaparthy Adityachandra | 2020-04-30 17:39:44 +0530 |
---|---|---|
committer | GitHub | 2020-04-30 17:39:44 +0530 |
commit | 833b96ac49499810934ada8ba02750623455d0cd (patch) | |
tree | 16d974b5a5e1effaf15be2235813dca4108c4f29 /api/serializers.py | |
parent | 53a0c4ad3e733f3960000527f83565f2fd8fc412 (diff) | |
parent | 2fd29bf1fff3d57a49b8a5cdffa9efc305946214 (diff) | |
download | online_test-833b96ac49499810934ada8ba02750623455d0cd.tar.gz online_test-833b96ac49499810934ada8ba02750623455d0cd.tar.bz2 online_test-833b96ac49499810934ada8ba02750623455d0cd.zip |
Merge pull request #674 from CruiseDevice/API
Update Yaksh API
Diffstat (limited to 'api/serializers.py')
-rw-r--r-- | api/serializers.py | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/api/serializers.py b/api/serializers.py new file mode 100644 index 0000000..1c1e6a4 --- /dev/null +++ b/api/serializers.py @@ -0,0 +1,79 @@ +from rest_framework import serializers +from yaksh.models import ( + Question, Quiz, QuestionPaper, AnswerPaper, Course, + LearningModule, LearningUnit, Lesson +) + + +class QuestionSerializer(serializers.ModelSerializer): + test_cases = serializers.SerializerMethodField() + + def get_test_cases(self, obj): + test_cases = obj.get_test_cases_as_dict() + return test_cases + + class Meta: + model = Question + exclude = ('partial_grading', ) + + +class QuizSerializer(serializers.ModelSerializer): + class Meta: + model = Quiz + exclude = ('view_answerpaper', ) + + +class QuestionPaperSerializer(serializers.ModelSerializer): + class Meta: + model = QuestionPaper + fields = '__all__' + + +class AnswerPaperSerializer(serializers.ModelSerializer): + + questions = QuestionSerializer(many=True) + + class Meta: + model = AnswerPaper + fields = '__all__' + + +class LessonSerializer(serializers.ModelSerializer): + class Meta: + model = Lesson + fields = '__all__' + + +class LearningUnitSerializer(serializers.ModelSerializer): + + quiz = QuizSerializer() + lesson = LessonSerializer() + + class Meta: + model = LearningUnit + fields = '__all__' + + +class LearningModuleSerializer(serializers.ModelSerializer): + + learning_unit = LearningUnitSerializer(many=True) + + class Meta: + model = LearningModule + fields = '__all__' + + +class CourseSerializer(serializers.ModelSerializer): + + learning_module = LearningModuleSerializer(many=True) + + class Meta: + model = Course + exclude = ( + 'teachers', + 'rejected', + 'requests', + 'students', + 'grading_system', + 'view_grade', + ) |