from rest_framework import serializers from .models import Atoll, Island class IslandSerializer(serializers.ModelSerializer): class Meta: model = Island fields = ["id", "name", "atoll"] class AtollSerializer(serializers.ModelSerializer): """Atolls with their islands nested - the registration form needs both.""" islands = serializers.SerializerMethodField() class Meta: model = Atoll fields = ["id", "name", "code", "islands"] def get_islands(self, obj) -> list[dict]: islands = [island for island in obj.islands.all() if island.is_active] return IslandSerializer(islands, many=True).data