from rest_framework import serializers from apps.announcements.models import Announcement from apps.courses.models import Course class AnnouncementSerializer(serializers.ModelSerializer): posted_by_name = serializers.CharField(source="posted_by.full_name", read_only=True, allow_null=True) class Meta: model = Announcement fields = ["id", "course", "body", "posted_by", "posted_by_name", "created_at", "updated_at"] read_only_fields = ["id", "posted_by", "posted_by_name", "created_at", "updated_at"] class AnnouncementWriteSerializer(serializers.ModelSerializer): course = serializers.PrimaryKeyRelatedField(queryset=Course.objects.all()) class Meta: model = Announcement fields = ["id", "course", "body"] read_only_fields = ["id"]