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( 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', 'employment_type', 'work_from_home', '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']