Я хотел бы обновить поле «многие ко многим» модели, используя частичное обновление. Однако я получаю ошибку
<django.db.models.fields.related.ManyToManyField: skills> (only non-relations and foreign keys permitted).
Вот так выглядит моя модель
class modelJob(models.Model):
skills = models.ManyToManyField(modelSkill,blank=True)
title = models.CharField(max_length=200, unique=False,blank=False,null=True)
moreInfo = models.CharField(max_length=500, unique=False,blank=False,null=True)
Вот так выглядит мой сериализатор
class Serializer_PartialUpdateJob_RX(serializers.ModelSerializer):
class Meta:
model = modelJob
fields = '__all__'
def update(self, instance, validated_data):
modelJob.objects.filter(pk=instance.id).update(**validated_data)
job = modelJob.objects.get(pk=instance.id)
return job
и вот так выглядит мой взгляд
class PartialUpdate_Jobs(GenericAPIView, UpdateModelMixin):
queryset = modelJob.objects.all()
serializer_class = Serializer_PartialUpdateJob_RX
lookup_field = 'id'
def put(self, request, *args, **kwargs):
result = self.partial_update(request, *args, **kwargs)
return Response(Serializer_Job_TX(self.queryset[0]).data)
Теперь я хотел бы только обновить поле многие-многие (навыки), и именно так выглядит мой json
{
"skills" :[
2,4
]
}
где 2 и 4 - идентификаторы объектов умений, на данный момент я получаю ошибку
<django.db.models.fields.related.ManyToManyField: skills> (only non-relations and foreign keys permitted).
Есть предложения, что я могу делать неправильно и как я могу это исправить?