diff --git a/.gitignore b/.gitignore index 5d381cc..97a5dd8 100644 --- a/.gitignore +++ b/.gitignore @@ -160,3 +160,4 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ +inits.txt \ No newline at end of file diff --git a/jobposting/models.py b/jobposting/models.py index 7a86c46..8506d58 100644 --- a/jobposting/models.py +++ b/jobposting/models.py @@ -83,6 +83,7 @@ class SkillLevels(models.Model): skill_id = models.ForeignKey(Skill, on_delete=models.CASCADE) skill_level = models.CharField(max_length=1, choices=proficiency_choices,) + jobposting_id = models.ForeignKey(JobListing, on_delete=models.CASCADE) class CompanyLogo(models.Model): company_logo = models.ImageField(upload_to=rename_file) diff --git a/jobposting/serializers.py b/jobposting/serializers.py index 7cdb2c0..bbe9db0 100644 --- a/jobposting/serializers.py +++ b/jobposting/serializers.py @@ -2,22 +2,6 @@ from rest_framework import serializers from jobposting.models import JobListing, SkillLevels, CompanyLogo, Skill from core.models import MyUser, AnonymousUserData -class SkillLevelsField(serializers.Field): - def to_representation(self, value): - # Konwersja do formatu wyjściowego - return {skill_level.skill_id.skill_name: skill_level.skill_level for skill_level in value.all()} - - def to_internal_value(self, data): - # Konwersja z formatu wejściowego - skill_levels = [] - for skill_name, level in data.items(): - try: - skill = Skill.objects.get(skill_name=skill_name) - except Skill.DoesNotExist: - raise serializers.ValidationError(f"Skill with name '{skill_name}' does not exist.") - skill_levels.append({'skill_id': skill.id, 'skill_level': level}) - return skill_levels - class MyUserSerializer(serializers.ModelSerializer): class Meta: model = MyUser @@ -31,14 +15,14 @@ class AnonymousUserDataSerializer(serializers.ModelSerializer): class SkillLevelsSerializer(serializers.ModelSerializer): skill_id = serializers.PrimaryKeyRelatedField(read_only=True, source='skill.id') + jobposting_id = serializers.PrimaryKeyRelatedField(read_only=True, source='jobposting.id') class Meta: model = SkillLevels - fields = ['skill_id', 'skill_level'] + fields = ['skill_id', 'skill_level', 'jobposting_id'] class JobListingSerializer(serializers.ModelSerializer): created_by = MyUserSerializer(read_only=True) anonymous_user_data = AnonymousUserDataSerializer(read_only=True) - skillLevels = SkillLevelsField() class Meta: model = JobListing @@ -47,8 +31,7 @@ class JobListingSerializer(serializers.ModelSerializer): 'company_name', 'name', 'content', 'minsalary', 'maxsalary', 'localization', 'created_by', 'created_at', 'status', 'status_paid', 'expiration_date', 'experience_level', 'employmentType', 'workFromHome', - 'updated_at', 'skillLevels', 'contact_email', 'first_name', 'last_name', - 'anonymous_user_data' + 'updated_at', 'contact_email', 'first_name', 'last_name', 'anonymous_user_data' ] def create(self, validated_data):