category fields to'girndi
This commit is contained in:
@@ -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)
|
||||
|
||||
6
core/apps/vendors/views/category.py
vendored
6
core/apps/vendors/views/category.py
vendored
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user