Browse Source

feat: implement Hadis list, collection, and sync views with optimized prefetching

master
H.shokhmgar86 2 weeks ago
parent
commit
2c6e8ad8cc
  1. 11
      apps/hadis/views/hadis.py

11
apps/hadis/views/hadis.py

@ -128,9 +128,16 @@ class HadisSyncView(ListAPIView):
pagination_class = NoPagination pagination_class = NoPagination
def get_queryset(self): 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 ( return (
Hadis.objects
.filter(status=True)
qs
.select_related('category', 'hadis_status') .select_related('category', 'hadis_status')
.prefetch_related( .prefetch_related(
'tags', 'tags',

Loading…
Cancel
Save