Невозможно назначить несколько экземпляров

Мне нужно переопределить метод create. Я хочу создать несколько навыков для одного кандидата в одном запросе. Я получаю ошибку, что нельзя назначить несколько экземпляров

class CandidateSkill(models.Model):
    candidate = models.ForeignKey(Candidate,on_delete=models.CASCADE,related_name="skills",)
    skills = models.ForeignKey("jobs.Skill",on_delete=models.CASCADE,related_name="candidate_skills",
    )


----------


class CandidateSkillList(generics.ListCreateAPIView):
    serializer_class = CandidateSkillSerializer
    queryset = CandidateSkill.objects.all()


class SkillSerializer(serializers.ModelSerializer):
    class Meta:
        model = Skill
        fields = ("name",)


----------


class CandidateSkillSerializer(serializers.ModelSerializer):
    skills = SkillSerializer(many=True)

    class Meta:
        model = CandidateSkill
        fields = ["id", "candidate", "skills"]

    def create(self, validated_data):
        skills = validated_data.pop("skills")
        candidateskills = CandidateSkill.objects.create(**validated_data)
        for skill in skills:
            Skill.objects.create(candidate_skills=candidateskills, **skill)
        return candidateskills
Вернуться на верх