|
@@ -118,4 +118,42 @@ class ExamQuestionFeedbackSerializer(serializers.ModelSerializer):
|
|
|
|
|
|
class Meta:
|
|
|
model = ExamQuestionFeedback
|
|
|
- fields = "__all__"
|
|
|
+ fields = "__all__"
|
|
|
+
|
|
|
+
|
|
|
+class ExamQuestionSimpleSerializer(serializers.ModelSerializer):
|
|
|
+ judgment = serializers.SerializerMethodField()
|
|
|
+ items = serializers.SerializerMethodField()
|
|
|
+
|
|
|
+ def get_items(self, obj):
|
|
|
+ if obj.type <= ExamQuestion.MULTIPLE:
|
|
|
+ rows = ExamQuestionOption.objects.filter(main=obj, delete=False)
|
|
|
+ return ExamQuestionOptionSimpleSerializer(rows, many=True).data
|
|
|
+ elif obj.type == ExamQuestion.FILL:
|
|
|
+ rows = ExamQuestionFill.objects.filter(main=obj, delete=False)
|
|
|
+ return ExamQuestionFillSimpleSerializer(rows, many=True).data
|
|
|
+ else:
|
|
|
+ return []
|
|
|
+
|
|
|
+ def get_judgment(self, obj):
|
|
|
+ if obj.judgment:
|
|
|
+ return "1"
|
|
|
+ return "0"
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ model = ExamQuestion
|
|
|
+ fields = ('title', 'judgment', 'items', 'type', 'analysis', )
|
|
|
+
|
|
|
+
|
|
|
+class ExamQuestionOptionSimpleSerializer(serializers.ModelSerializer):
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ model = ExamQuestionOption
|
|
|
+ fields = ('content', 'right', 'id', )
|
|
|
+
|
|
|
+
|
|
|
+class ExamQuestionFillSimpleSerializer(serializers.ModelSerializer):
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ model = ExamQuestionFill
|
|
|
+ fields = ('content', 'order', )
|