Features:
1) Add `BrandProductDetailSerializer` with logo fields (small_logo, big_logo); 2) Replace `BrandDetailSerializer` with `BrandProductDetailSerializer` in `ProductDetailSerializer`; Fixes: (none); Extra: 1) Minor structural adjustments for code clarity;
This commit is contained in:
parent
ce5c475b71
commit
7ef0dc6fa9
1 changed files with 27 additions and 1 deletions
|
|
@ -149,6 +149,32 @@ class BrandDetailSerializer(ModelSerializer):
|
|||
return None
|
||||
|
||||
|
||||
class BrandProductDetailSerializer(ModelSerializer):
|
||||
small_logo = SerializerMethodField()
|
||||
big_logo = SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Brand
|
||||
fields = [
|
||||
"uuid",
|
||||
"name",
|
||||
"created",
|
||||
"modified",
|
||||
"big_logo",
|
||||
"small_logo",
|
||||
]
|
||||
|
||||
def get_small_logo(self, obj: Brand) -> Optional[str]:
|
||||
with suppress(ValueError):
|
||||
return obj.small_logo.url
|
||||
return None
|
||||
|
||||
def get_big_logo(self, obj: Brand) -> Optional[str]:
|
||||
with suppress(ValueError):
|
||||
return obj.big_logo.url
|
||||
return None
|
||||
|
||||
|
||||
class ProductTagDetailSerializer(ModelSerializer):
|
||||
class Meta:
|
||||
model = ProductTag
|
||||
|
|
@ -273,7 +299,7 @@ class PromoCodeDetailSerializer(ModelSerializer):
|
|||
|
||||
|
||||
class ProductDetailSerializer(ModelSerializer):
|
||||
brand = BrandDetailSerializer()
|
||||
brand = BrandProductDetailSerializer()
|
||||
category = CategorySimpleSerializer()
|
||||
tags = ProductTagDetailSerializer(
|
||||
many=True,
|
||||
|
|
|
|||
Loading…
Reference in a new issue