from rest_framework import serializers from apps.dobodbi_calendar.models import CalendarOccasions class CalendarSerializer(serializers.ModelSerializer): type = serializers.CharField(source='occasion_type') dates = serializers.SerializerMethodField() # def get_countries(self, obj): # if not obj.countries or obj.countries[0] == 'ALL': # return ["All"] # return [country.name or country.code for country in obj.countries] # def get_holiday_in_countries(self, obj): # return [country.name or country.code for country in obj.holiday_in_countries] def get_dates(self, obj): dates = [] for date in obj.dates: dates.append({ 'day': str(date['day']), 'month': str(date['month']), 'year': str(date.get('year', '')), }) return dates class Meta: model = CalendarOccasions fields = ('id', 'title', 'type', 'event_type', 'dates', 'is_yearly',)