from rest_framework import serializers from .models import * class StudentSerializer(serializers.ModelSerializer): class Meta: model = Student fields = '__all__' # exclude = ['id'] class PlacementSerializer(serializers.ModelSerializer): company_details = serializers.SerializerMethodField() def get_company_details(self, obj): data = { "id": obj.company.id, "name": obj.company.name, "address": obj.company.address, "companyType": obj.company.companyType, "website": obj.company.website, } return data class Meta: model = Placement exclude=[COMPANY] depth = 1 class PlacementApplicationSerializer(serializers.ModelSerializer): application_status = serializers.SerializerMethodField() company_details = serializers.SerializerMethodField() def get_application_status(self, obj): if obj.status is None: return obj.placement.status else: return obj.status def get_company_details(self, obj): data = { "id": obj.placement.company.id, "name": obj.placement.company.name, "address": obj.placement.company.address, "companyType": obj.placement.company.companyType, "website": obj.placement.company.website, } return data class Meta: model = PlacementApplication exclude = ['status', 'student']