furry/products/serializers.py

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']