izaac/jobposting/serializers.py
Jakub K 20b5ddda9f
All checks were successful
continuous-integration/drone Build is passing
serializery, nowe modele
2024-01-05 13:02:55 +01:00

50 lines
1.8 KiB
Python

from rest_framework import serializers
from jobposting.models import JobListing, SkillLevels, CompanyLogo, Skill
from core.models import MyUser, AnonymousUserData
class MyUserSerializer(serializers.ModelSerializer):
class Meta:
model = MyUser
fields = ['id', 'email', 'first_name', 'last_name']
class AnonymousUserDataSerializer(serializers.ModelSerializer):
class Meta:
model = AnonymousUserData
fields = ['id', 'contact_email', 'first_name', 'last_name']
class SkillLevelsSerializer(serializers.ModelSerializer):
skill_id = serializers.SlugRelatedField(
source='skill_id',
slug_field='skill_name',
queryset=Skill.objects.all()
)
# jobposting_id = serializers.PrimaryKeyRelatedField(source='jobposting.id', queryset=JobListing.objects.all())
class Meta:
model = SkillLevels
fields = ['skill_id', 'skill_level', 'jobposting_id']
class JobListingSerializer(serializers.ModelSerializer):
created_by = MyUserSerializer(read_only=True)
anonymous_user_data = AnonymousUserDataSerializer(read_only=True)
class Meta:
model = JobListing
fields = [
'id', 'posting_option',
'company_name', 'name', 'content', 'minsalary', 'maxsalary',
'localization', 'created_by', 'created_at', 'status', 'status_paid',
'expiration_date', 'experience_level', 'employmentType', 'workFromHome',
'updated_at', 'contact_email', 'first_name', 'last_name', 'anonymous_user_data'
]
class CompanyLogoSerializer(serializers.ModelSerializer):
class Meta:
model = CompanyLogo
fields = ['id', 'company_name','company_logo']
class SkillSerializer(serializers.ModelSerializer):
class Meta:
model = Skill
fields = ['id', 'skill_name']