list color

This commit is contained in:
Parsa Nazer
2025-02-21 20:50:45 +03:30
parent 35d4c6ec18
commit b5bb8b9b6f
+9 -10
View File
@@ -89,7 +89,7 @@ class MainCategorySerializer(serializers.ModelSerializer):
class DynamicProductSerializer(serializers.ModelSerializer):
variants = serializers.SerializerMethodField()
# variants_colors = serializers.SerializerMethodField()
colors = serializers.SerializerMethodField()
category = SubCategorySerializer(read_only=True)
is_new = serializers.SerializerMethodField()
related_products = serializers.SerializerMethodField()
@@ -110,21 +110,21 @@ class DynamicProductSerializer(serializers.ModelSerializer):
model = ProductModel
fields = "__all__"
view_type = {
'list': ['id','name', 'rating', 'slug', 'category', 'variants'],
'instance': ['id', 'name', 'description', 'rating', 'slug', 'meta_description', 'meta_keywords', 'meta_rating', 'category', 'related_products', 'in_pack_items', 'variants'],
'list': ['id','name', 'rating', 'slug', 'category', 'variants', 'colors'],
'instance': ['id', 'name', 'description', 'rating', 'slug', 'meta_description', 'meta_keywords', 'meta_rating', 'category', 'related_products', 'in_pack_items', 'variants', 'variants_colors'],
'chat': ['id', 'name', 'description', 'variants']
}
def get_variants(self, obj):
varients = obj.variants.all()
colors = set(varient.color for varient in varients)
response = {color: ProductVariantSerialzier(instance=varients.filter(color=color), many=True, context=self.context).data for color in colors}
return response
return ProductVariantSerialzier(instance=varients, many=True, context=self.context).data
# def get_variants_colors(self, obj):
# varients = obj.variants.all()
# attributes = AttributeValue.objects.filter(variant__in=varients)
# return AttributeValueForProductListSerialzier(instance=attributes, many=True, context=self.context).data
def get_colors(self, obj):
varients = obj.variants.all()
colors = list(set(varient.color for varient in varients))
return colors
def get_is_new(self, obj):
@@ -152,4 +152,3 @@ class CommentSerializer(serializers.ModelSerializer):
exclude = ('review_status', )
read_only_fields = ('review_status', 'product', 'user')