20 lines
791 B
Python
20 lines
791 B
Python
from rest_framework import serializers
|
|
from .models import Product, Review
|
|
|
|
class ReviewSerializer(serializers.ModelSerializer):
|
|
user = serializers.ReadOnlyField(source='user.username')
|
|
|
|
class Meta:
|
|
model = Review
|
|
fields = ['id', 'user', 'rating', 'comment', 'created_at', 'product']
|
|
read_only_fields = ['created_at']
|
|
|
|
class ProductSerializer(serializers.ModelSerializer):
|
|
average_rating = serializers.FloatField(read_only=True)
|
|
reviews = ReviewSerializer(many=True, read_only=True)
|
|
|
|
class Meta:
|
|
model = Product
|
|
fields = ['id', 'name', 'description', 'price', 'stock', 'category',
|
|
'featured', 'image', 'created_at', 'average_rating', 'reviews']
|
|
read_only_fields = ['created_at'] |