Files

35 lines
1.2 KiB
Python

from rest_framework import serializers
from .models import FeaturedService
from users.serializers import UserSerializer
from regions.serializers import RegionSerializer
class FeaturedServiceSerializer(serializers.ModelSerializer):
submitter = UserSerializer(read_only=True)
region = RegionSerializer(read_only=True)
region_id = serializers.PrimaryKeyRelatedField(
queryset='regions.Region.objects.all()',
source='region',
write_only=True,
required=False
)
class Meta:
model = FeaturedService
fields = [
'id', 'name', 'description', 'region', 'region_id', 'category',
'address', 'contact', 'website', 'price_range', 'opening_hours',
'submitter', 'moderator_status', 'ai_status', 'publish_status',
'view_count', 'rating_average', 'rating_count',
'created_at', 'updated_at'
]
read_only_fields = [
'submitter', 'moderator_status', 'ai_status', 'publish_status',
'view_count', 'rating_average', 'rating_count', 'created_at', 'updated_at'
]
def create(self, validated_data):
service = super().create(validated_data)
service.submit_for_moderator_review()
return service