File: /var/www/html/calendar-planning/app/serializers.py
from rest_framework import serializers
from .models import Category, Event
import re
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = ['category_id', 'name']
class EventSerializer(serializers.ModelSerializer):
categories = serializers.ListField(
child=serializers.CharField(max_length=256),
write_only=True,
)
category_objects = CategorySerializer(many=True, read_only=True, source='categories')
class Meta:
model = Event
fields = ['event_id', 'created_on', 'categories', 'country', 'year', 'category_objects']
def validate_year(self, value):
if not (2025 <= value <= 2050):
raise serializers.ValidationError("Year must be between 2025 and 2050")
return value