From eb7c4ab11cf1d9f61156332fa7de6a6acfc568ee Mon Sep 17 00:00:00 2001 From: husanjon Date: Fri, 17 Apr 2026 16:21:41 +0500 Subject: [PATCH] category fields to'girndi --- core/apps/vendors/serializers/category/Category.py | 2 ++ core/apps/vendors/views/category.py | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/core/apps/vendors/serializers/category/Category.py b/core/apps/vendors/serializers/category/Category.py index f49f8ff..030e289 100644 --- a/core/apps/vendors/serializers/category/Category.py +++ b/core/apps/vendors/serializers/category/Category.py @@ -5,6 +5,7 @@ from core.apps.vendors.models import CategoryModel, SectionModel class BaseCategorySerializer(serializers.ModelSerializer): section = serializers.SlugRelatedField(slug_field='firestore_id', queryset=SectionModel.objects.all(), required=False, allow_null=True) + products_count = serializers.IntegerField(read_only=True, default=0) class Meta: model = CategoryModel @@ -18,6 +19,7 @@ class BaseCategorySerializer(serializers.ModelSerializer): "photo_url", "is_publish", "order", + "products_count", ] def to_representation(self, instance): ret = super().to_representation(instance) diff --git a/core/apps/vendors/views/category.py b/core/apps/vendors/views/category.py index c6daf74..de975db 100644 --- a/core/apps/vendors/views/category.py +++ b/core/apps/vendors/views/category.py @@ -1,3 +1,4 @@ +from django.db.models import Count from django_filters.rest_framework import DjangoFilterBackend from django_core.mixins import BaseViewSetMixin from drf_spectacular.utils import extend_schema @@ -24,6 +25,11 @@ class CategoryView(BaseViewSetMixin, ModelViewSet): filter_backends = [DjangoFilterBackend] filterset_class = CategoryFilter + def get_queryset(self): + return super().get_queryset().annotate( + products_count=Count("products") + ) + action_permission_classes = {} action_serializer_class = { "list": ListCategorySerializer,