Recruitment_site/offer_backend/apps/jobs/serializers.py

36 lines
1.2 KiB
Python

from rest_framework import serializers
from .models import Job, JobFavorite
from apps.organizations.serializers import OrganizationSerializer
from apps.organizations.models import Organization
class JobListSerializer(serializers.ModelSerializer):
organization_name = serializers.CharField(source='organization.name', read_only=True)
class Meta:
model = Job
fields = ['id', 'title', 'category', 'location', 'salary',
'organization', 'organization_name', 'status', 'created_at']
class JobDetailSerializer(serializers.ModelSerializer):
organization = OrganizationSerializer(read_only=True)
organization_id = serializers.PrimaryKeyRelatedField(
source='organization',
queryset=Organization.objects.all(),
write_only=True
)
class Meta:
model = Job
fields = ['id', 'title', 'category', 'location', 'salary',
'description', 'organization', 'organization_id', 'status', 'created_at']
class JobFavoriteSerializer(serializers.ModelSerializer):
job = JobListSerializer(read_only=True)
class Meta:
model = JobFavorite
fields = ['id', 'job', 'created_at']