У меня есть следующие две модели
class modelJob(models.Model):
category = models.ForeignKey(modelJobCategory,on_delete=models.CASCADE,null=True,default=None,blank=True)
description = models.CharField(max_length=200, unique=False)
и эта модель
class modelJobCategory(models.Model):
name = models.CharField(max_length=200, unique=True)
other = models.CharField(max_length=200, unique=False , blank=True , null=True)
Это мои два сериализатора
class Serializer_Update_Job_Serializer(ModelSerializer):
class Meta:
model = modelJob
category = Serializer_Create_List_JobCategory
fields = [
'category',
'description',
]
class Serializer_Create_List_JobCategory(ModelSerializer):
class Meta:
model = modelJobCategory
fields = [
'name',
'other',
]
Сейчас я пытаюсь обновитьчерез PUT на URL с полем поиска pk
однако я получаю исключение
{
"category": [
"Incorrect type. Expected pk value, received dict."
]
}
Вот как выглядит мой взгляд
class UpdateJob_RetrieveUpdateAPIView(RetrieveUpdateAPIView):
queryset = modelJob.objects.all()
serializer_class = Serializer_Update_Job_Serializer
lookup_field = 'id'
def put(self, request, *args, **kwargs):
object = self.queryset
return self.update(request, *args, **kwargs)
Любая идея, почему я получаю этоошибка?
Это тело моего PUT
{
"description": "foobar",
"category" : {
"name" : "labor",
"other" : "blah"
}
}