Невозможно назначить несколько экземпляров
Мне нужно переопределить метод 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