From 85f14a71c2e866d9a399c49f3f9d880521ce794e Mon Sep 17 00:00:00 2001 From: Parsa Nazer Date: Fri, 21 Feb 2025 19:23:25 +0330 Subject: [PATCH] update product serializer category adn detiaal category resposne --- backend/product/serializers.py | 36 ++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/backend/product/serializers.py b/backend/product/serializers.py index 47849b2..b195885 100644 --- a/backend/product/serializers.py +++ b/backend/product/serializers.py @@ -14,6 +14,7 @@ class DetailSerializer(serializers.ModelSerializer): class ProductDetailSerializer(serializers.ModelSerializer): detail = DetailSerializer(many=True, read_only=True) + detail_category = serializers.StringRelatedField() class Meta: model = ProductDetailModel fields = "__all__" @@ -67,11 +68,29 @@ class ProductVariantSerialzier(serializers.ModelSerializer): +class SubCategorySerializer(serializers.ModelSerializer): + product_count = serializers.SerializerMethodField() + parent = serializers.SerializerMethodField() + class Meta: + model = SubCategoryModel + fields = ['id', 'name', 'slug','icon', 'meta_title', 'meta_description', 'product_count', 'show', 'parent', 'image'] + def get_product_count(self, obj): + return obj.products.count() + def get_parent(self, obj): + return obj.parent.name + + +class MainCategorySerializer(serializers.ModelSerializer): + subcategorys = SubCategorySerializer(many=True) + class Meta: + model = MainCategoryModel + fields = ['id', 'name', 'slug', 'icon', 'meta_title', 'meta_description', 'subcategorys'] class DynamicProductSerializer(serializers.ModelSerializer): variants = serializers.SerializerMethodField() # variants_colors = serializers.SerializerMethodField() + category = SubCategorySerializer(read_only=True) is_new = serializers.SerializerMethodField() related_products = serializers.SerializerMethodField() @@ -130,20 +149,3 @@ class CommentSerializer(serializers.ModelSerializer): exclude = ('review_status', ) read_only_fields = ('review_status', 'product', 'user') -class SubCategorySerializer(serializers.ModelSerializer): - product_count = serializers.SerializerMethodField() - parent = serializers.SerializerMethodField() - class Meta: - model = SubCategoryModel - fields = ['id', 'name', 'slug','icon', 'meta_title', 'meta_description', 'product_count', 'show', 'parent', 'image'] - def get_product_count(self, obj): - return obj.products.count() - def get_parent(self, obj): - return obj.parent.name - - -class MainCategorySerializer(serializers.ModelSerializer): - subcategorys = SubCategorySerializer(many=True) - class Meta: - model = MainCategoryModel - fields = ['id', 'name', 'slug', 'icon', 'meta_title', 'meta_description', 'subcategorys']