From 2c6e8ad8cc6559357a04e075a6ccc41cd1bba578 Mon Sep 17 00:00:00 2001 From: "H.shokhmgar86" Date: Wed, 9 Sep 2026 13:55:25 +0330 Subject: [PATCH] feat: implement Hadis list, collection, and sync views with optimized prefetching --- apps/hadis/views/hadis.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/hadis/views/hadis.py b/apps/hadis/views/hadis.py index 9510fbb..6041896 100644 --- a/apps/hadis/views/hadis.py +++ b/apps/hadis/views/hadis.py @@ -128,9 +128,16 @@ class HadisSyncView(ListAPIView): pagination_class = NoPagination def get_queryset(self): + qs = Hadis.objects.filter(status=True) + category_id = self.request.query_params.get('category_id') + category_slug = self.request.query_params.get('category_slug') + if category_id: + qs = qs.filter(category_id=category_id) + elif category_slug: + qs = qs.filter(category__slug=category_slug) + return ( - Hadis.objects - .filter(status=True) + qs .select_related('category', 'hadis_status') .prefetch_related( 'tags',