mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-17 02:45:08 +00:00
add correct and attempt answer
This commit is contained in:
@ -247,6 +247,9 @@ class ArticleQuestionSerializer(serializers.ModelSerializer):
|
|||||||
id = serializers.IntegerField(required=False)
|
id = serializers.IntegerField(required=False)
|
||||||
options = SurveyOptionSerializer(many=True)
|
options = SurveyOptionSerializer(many=True)
|
||||||
is_attempt = serializers.SerializerMethodField('get_is_attempt')
|
is_attempt = serializers.SerializerMethodField('get_is_attempt')
|
||||||
|
correct_answer = serializers.SerializerMethodField('get_correct_answer')
|
||||||
|
attempted_answer = serializers.SerializerMethodField('get_attempted_answer')
|
||||||
|
|
||||||
|
|
||||||
def get_is_attempt(self, obj):
|
def get_is_attempt(self, obj):
|
||||||
"""attempt question or not"""
|
"""attempt question or not"""
|
||||||
@ -256,12 +259,28 @@ class ArticleQuestionSerializer(serializers.ModelSerializer):
|
|||||||
return junior_article_obj.is_attempt
|
return junior_article_obj.is_attempt
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def get_correct_answer(self, obj):
|
||||||
|
"""attempt question or not"""
|
||||||
|
ans_obj = SurveyOption.objects.filter(survey=obj, is_answer=True).last()
|
||||||
|
if ans_obj:
|
||||||
|
return ans_obj.id
|
||||||
|
return str("None")
|
||||||
|
|
||||||
|
def get_attempted_answer(self, obj):
|
||||||
|
"""attempt question or not"""
|
||||||
|
context_data = self.context.get('user')
|
||||||
|
junior_article_obj = JuniorArticlePoints.objects.filter(junior__auth=context_data,
|
||||||
|
question=obj, is_answer_correct=True).last()
|
||||||
|
if junior_article_obj:
|
||||||
|
return junior_article_obj.submitted_answer.id
|
||||||
|
return None
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""
|
"""
|
||||||
meta class
|
meta class
|
||||||
"""
|
"""
|
||||||
model = ArticleSurvey
|
model = ArticleSurvey
|
||||||
fields = ('id', 'question', 'options', 'points', 'is_attempt')
|
fields = ('id', 'question', 'options', 'points', 'is_attempt', 'correct_answer', 'attempted_answer')
|
||||||
|
|
||||||
class StartAssessmentSerializer(serializers.ModelSerializer):
|
class StartAssessmentSerializer(serializers.ModelSerializer):
|
||||||
"""
|
"""
|
||||||
|
Reference in New Issue
Block a user