best deal price fields added to product serialzier
This commit is contained in:
@@ -136,7 +136,9 @@ class DynamicProductSerializer(serializers.ModelSerializer):
|
||||
is_new = serializers.SerializerMethodField()
|
||||
related_products = serializers.SerializerMethodField()
|
||||
added_to_favorites = serializers.SerializerMethodField()
|
||||
|
||||
best_deal_price_before_discount = serializers.SerializerMethodField()
|
||||
best_deal_price_after_discount = serializers.SerializerMethodField()
|
||||
best_deal_discount = serializers.SerializerMethodField()
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
view_type = self.context.get('view_type', 'all')
|
||||
@@ -152,11 +154,30 @@ class DynamicProductSerializer(serializers.ModelSerializer):
|
||||
model = ProductModel
|
||||
fields = "__all__"
|
||||
view_type = {
|
||||
'list': ['id', 'name', 'rating', 'slug', 'category', 'variants', 'colors', 'image'],
|
||||
'slider': ['id', 'name', 'rating', 'slug', 'category', 'variants', 'colors', 'image'],
|
||||
'list': ['id', 'name', 'rating', 'slug', 'category', 'variants', 'colors', 'image', 'best_deal_price_before_discount', 'best_deal_price_after_discount', 'best_deal_discount', ],
|
||||
'slider': ['id', 'name', 'rating', 'slug', 'category', 'variants', 'colors', 'image', 'best_deal_price_before_discount', 'best_deal_price_after_discount', 'best_deal_discount', ],
|
||||
'instance': ['id', 'name', 'description', 'rating', 'slug', 'meta_description', 'meta_keywords', 'meta_rating', 'category', 'related_products', 'in_pack_items', 'variants', 'colors', 'added_to_favorites', 'image'],
|
||||
'chat': ['id', 'name', 'description', 'variants', 'image']
|
||||
}
|
||||
def get_best_deal_price_before_discount(self, obj):
|
||||
best_deal = obj.get_best_deal_variant()
|
||||
if best_deal:
|
||||
return f'{best_deal.price:,.0f} تومانءءء'
|
||||
return 0
|
||||
|
||||
def get_best_deal_price_after_discount(self, obj):
|
||||
best_deal = obj.get_best_deal_variant()
|
||||
if best_deal:
|
||||
price_after_discount = best_deal.price_after_discount
|
||||
return f'{price_after_discount:,.0f} تومانءءء'
|
||||
return 0
|
||||
|
||||
def get_best_deal_discount(self, obj):
|
||||
best_deal = obj.get_best_deal_variant()
|
||||
if best_deal:
|
||||
return best_deal.discount
|
||||
return 0
|
||||
|
||||
|
||||
def get_added_to_favorites(self, obj):
|
||||
from account.models import UserFavorites
|
||||
|
||||
Reference in New Issue
Block a user