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):
|
class BaseCategorySerializer(serializers.ModelSerializer):
|
||||||
section = serializers.SlugRelatedField(slug_field='firestore_id', queryset=SectionModel.objects.all(), required=False, allow_null=True)
|
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:
|
class Meta:
|
||||||
model = CategoryModel
|
model = CategoryModel
|
||||||
@@ -18,6 +19,7 @@ class BaseCategorySerializer(serializers.ModelSerializer):
|
|||||||
"photo_url",
|
"photo_url",
|
||||||
"is_publish",
|
"is_publish",
|
||||||
"order",
|
"order",
|
||||||
|
"products_count",
|
||||||
]
|
]
|
||||||
def to_representation(self, instance):
|
def to_representation(self, instance):
|
||||||
ret = super().to_representation(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_filters.rest_framework import DjangoFilterBackend
|
||||||
from django_core.mixins import BaseViewSetMixin
|
from django_core.mixins import BaseViewSetMixin
|
||||||
from drf_spectacular.utils import extend_schema
|
from drf_spectacular.utils import extend_schema
|
||||||
@@ -24,6 +25,11 @@ class CategoryView(BaseViewSetMixin, ModelViewSet):
|
|||||||
filter_backends = [DjangoFilterBackend]
|
filter_backends = [DjangoFilterBackend]
|
||||||
filterset_class = CategoryFilter
|
filterset_class = CategoryFilter
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
return super().get_queryset().annotate(
|
||||||
|
products_count=Count("products")
|
||||||
|
)
|
||||||
|
|
||||||
action_permission_classes = {}
|
action_permission_classes = {}
|
||||||
action_serializer_class = {
|
action_serializer_class = {
|
||||||
"list": ListCategorySerializer,
|
"list": ListCategorySerializer,
|
||||||
|
|||||||
Reference in New Issue
Block a user