Home page uchun yangi category api lar chiqarildi

This commit is contained in:
2025-11-26 11:32:14 +05:00
parent 23f6e6e72a
commit 74ded25aa0
2 changed files with 17 additions and 14 deletions

View File

@@ -15,6 +15,7 @@ from core.apps.api.serializers.category import (
@extend_schema(tags=["Category"])
class CategoryViewSet(BaseViewSetMixin, ReadOnlyModelViewSet):
queryset = Category.objects.filter(level=0)
permission_classes = [AllowAny]
serializer_class = ListCategorySerializer
pagination_class = None
@@ -28,18 +29,19 @@ class CategoryViewSet(BaseViewSetMixin, ReadOnlyModelViewSet):
"create": CreateCategorySerializer,
}
def get_queryset(self):
qs = Category.objects.all()
if not self.request.query_params:
qs = qs.filter(level=0)
return qs
@extend_schema(tags=["Category"])
class CategoryHomeApiViewSet(BaseViewSetMixin, ReadOnlyModelViewSet):
queryset = Category.objects.all()
permission_classes = [AllowAny]
serializer_class = ListCategoryNoChildSerializer
pagination_class = None
filter_backends = [DjangoFilterBackend]
filterset_class = CategoryFilter
def get_serializer_class(self):
if "show_home" in self.request.query_params:
return ListCategoryNoChildSerializer
if hasattr(self, 'action_serializer_class'):
return self.action_serializer_class.get(self.action, self.serializer_class)
return super().get_serializer_class()
action_permission_classes = {}
action_serializer_class = {
"list": ListCategoryNoChildSerializer,
"retrieve": RetrieveCategorySerializer,
"create": CreateCategorySerializer,
}