mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-11-27 00:54:54 +00:00
Merge pull request #261 from KiwiTechLLC/sprint5
article-list optimization
This commit is contained in:
@ -237,8 +237,7 @@ class ArticleListSerializer(serializers.ModelSerializer):
|
||||
return None
|
||||
def get_total_points(self, obj):
|
||||
"""total points of article"""
|
||||
total_question = ArticleSurvey.objects.filter(article=obj).count()
|
||||
return total_question * NUMBER['five']
|
||||
return obj.article_survey.all().count() * NUMBER['five']
|
||||
|
||||
def get_is_completed(self, obj):
|
||||
"""complete all question"""
|
||||
@ -278,7 +277,7 @@ class ArticleQuestionSerializer(serializers.ModelSerializer):
|
||||
"""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()
|
||||
question=obj).last()
|
||||
if junior_article_obj:
|
||||
return junior_article_obj.submitted_answer.id
|
||||
return None
|
||||
|
||||
@ -229,10 +229,7 @@ class ArticleListViewSet(GenericViewSet, mixins.ListModelMixin):
|
||||
http_method_names = ['get',]
|
||||
|
||||
def get_queryset(self):
|
||||
article = self.queryset.objects.filter(is_deleted=False, is_published=True).prefetch_related(
|
||||
'article_cards', 'article_survey', 'article_survey__options'
|
||||
).order_by('-created_at')
|
||||
queryset = self.filter_queryset(article)
|
||||
queryset = self.queryset.objects.filter(is_deleted=False, is_published=True).order_by('-created_at')
|
||||
return queryset
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
|
||||
Reference in New Issue
Block a user