detail product and in pack items for product

This commit is contained in:
Parsa Nazer
2025-02-05 00:31:06 +03:30
parent d2fbfd5112
commit e08429c497
11 changed files with 573 additions and 7 deletions
+15 -1
View File
@@ -10,11 +10,25 @@ class InStuckColorsSerializer(serializers.ModelSerializer):
fields = ['color', 'in_stuck']
class DetailSerializer(serializers.ModelSerializer):
class Meta:
model = DetailModel
fields = '__all__'
class ProductDetailSerializer(serializers.ModelSerializer):
detail = DetailSerializer(many=True, read_only=True)
class Meta:
model = ProductDetailModel
exclude = ('product',)
class DynamicProductSerializer(serializers.ModelSerializer):
colors = InStuckColorsSerializer(many=True, read_only=True)
price = serializers.SerializerMethodField()
is_new = serializers.SerializerMethodField()
related_products = serializers.SerializerMethodField()
details = ProductDetailSerializer(many=True, read_only=True)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
view_type = self.context.get('view_type', 'all')
@@ -32,7 +46,7 @@ class DynamicProductSerializer(serializers.ModelSerializer):
fields = "__all__"
view_type = {
'list': ['name', 'price', 'image1', 'video', 'rating', 'discount', 'slug', 'category', 'colors'],
'instance': ['name', 'description', 'price', 'image1', 'image2', 'image3', 'video', 'rating', 'discount', 'slug', 'meta_description', 'meta_keywords', 'meta_rating', 'category', 'colors', 'related_products'],
'instance': ['name', 'description', 'price', 'image1', 'image2', 'image3', 'video', 'rating', 'discount', 'slug', 'meta_description', 'meta_keywords', 'meta_rating', 'category', 'colors', 'related_products', 'details'],
'chat': ['name', 'description', 'price', 'in_stock', 'discount', 'colors']
}