Coverage for src/products/serializers/product.py: 100%
38 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-04 12:59 +0300
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-04 12:59 +0300
1"""
2This module contains concrete serializers for each product type and related attributes.
4It provides:
5- List and detail serializers for each product type (Earwear, Neckwear, Wristwear, Fingerwear)
6- Attribute serializers for product properties like color, metal, stone, and collection
7- All serializers are based on shared base serializers for consistency and reuse
8- Used for product list/detail API endpoints and for serializing product attributes
9"""
11from src.products.models.product import (
12 Color,
13 Earwear,
14 Metal,
15 Neckwear,
16 Stone,
17 Wristwear,
18 Fingerwear,
19 Collection,
20)
22from src.products.serializers.base import (
23 BaseAttributesSerializer,
24 BaseProductItemSerializer,
25 BaseProductListSerializer,
26)
29class EarwearListSerializer(BaseProductListSerializer):
30 class Meta(BaseProductListSerializer.Meta):
31 model = Earwear
34class NeckwearListSerializer(BaseProductListSerializer):
35 class Meta(BaseProductListSerializer.Meta):
36 model = Neckwear
39class WristwearListSerializer(BaseProductListSerializer):
40 class Meta(BaseProductListSerializer.Meta):
41 model = Wristwear
44class FingerwearListSerializer(BaseProductListSerializer):
45 class Meta(BaseProductListSerializer.Meta):
46 model = Fingerwear
49class EarwearItemSerializer(BaseProductItemSerializer):
50 class Meta(BaseProductItemSerializer.Meta):
51 model = Earwear
54class NeckwearItemSerializer(BaseProductItemSerializer):
55 class Meta(BaseProductItemSerializer.Meta):
56 model = Neckwear
59class WristwearItemSerializer(BaseProductItemSerializer):
60 class Meta(BaseProductItemSerializer.Meta):
61 model = Wristwear
64class FingerwearItemSerializer(BaseProductItemSerializer):
65 class Meta(BaseProductItemSerializer.Meta):
66 model = Fingerwear
69class CollectionSerializer(BaseAttributesSerializer):
70 class Meta(BaseAttributesSerializer.Meta):
71 model = Collection
74class ColorSerializer(BaseAttributesSerializer):
75 class Meta(BaseAttributesSerializer.Meta):
76 model = Color
79class MetalSerializer(BaseAttributesSerializer):
80 class Meta(BaseAttributesSerializer.Meta):
81 model = Metal
84class StoneSerializer(BaseAttributesSerializer):
85 class Meta(BaseAttributesSerializer.Meta):
86 model = Stone