Возникают проблемы с этой ошибкой ErrorDetail(string='Неверный тип. Ожидалось значение pk, получено str.', code='incorrect_type')
Передо мной стоит задача сделать это с помощью сериализаторов и внешних ключей, я новичок в этой концепции и делаю CRUD, где я борюсь с этой ошибкой
"ErrorDetail(string='Incorrect type. Expected pk value, received str.', code='incorrect_type')"
модель
class Products(models.Model):
categories = models.ForeignKey(Categories,on_delete=models.CASCADE)
sub_categories = models.ForeignKey(SUBCategories,on_delete=models.CASCADE)
color = models.ForeignKey(Colors,on_delete=models.CASCADE)
size = models.ForeignKey(Size,on_delete=models.CASCADE)
# image = models.ImageField(upload_to = 'media/',width_field=None,height_field=None,null=True)
title = models.CharField(max_length=50)
price = models.CharField(max_length=10)
sku_number = models.CharField(max_length=10)
product_details = models.CharField(max_length=300)
quantity = models.IntegerField(default=0)
isactive = models.BooleanField(default=True)
функция вставки
def insert(request):
if request.method == "POST":
print('POST',id)
insert_clothes = {}
insert_clothes['categories']=request.POST.get('categories')
insert_clothes['sub_categories']=request.POST.get('sub_categories')
insert_clothes['color']=request.POST.get('color')
insert_clothes['size']=request.POST.get('size ')
# insert_clothes['image']=request.POST.get('image')
insert_clothes['title']=request.POST.get('title')
insert_clothes['price']=request.POST.get('price')
insert_clothes['sku_number']=request.POST.get('sku_number')
insert_clothes['product_details']=request.POST.get('product_details')
insert_clothes['quantity']=request.POST.get('quantity')
print("insert clothes:",insert_clothes)
serializer = POLLSerializer(data = insert_clothes)
print('form:',serializer.initial_data)
if serializer.is_valid():
serializer.save()
messages.success(request,'Record Updated successfully :)!!!!')
return redirect('polls:show')
else:
print("invalid")
print("error of serializer:",serializer.errors)
return redirect('polls:insert')
else:
print('GET',id)
return render(request,'polls/product_insert.html')
Может ли кто-нибудь сказать мне, как я должен называть их ID?