TypeError at /productdetails/20 'Products' object is not iterable
Я делаю CRUD с использованием сериализаторов и пытаюсь сделать страницу, которая будет отображать детали одежды, на которую я нажал. Возникает следующая ошибка
ниже приведена функция productdetails
def productdetails(request,id):
prod = Products.objects.get(id=id)
product = POLLSerializer(prod,many=True)
return render(request,'polls/productdetails.html',{'data':product.data})
модель
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=70)
price = models.CharField(max_length=10)
sku_number = models.CharField(max_length=10)
product_details = models.CharField(max_length=1000)
quantity = models.IntegerField(default=0)
isactive = models.BooleanField(default=True)
ниже представлен productdetails.html, поскольку мне нужна информация только об одном продукте, нет необходимости в циклах, поэтому я не добавил цикл for
<table>
<tbody>
<tr>
<td>{{data.id}}</td>
<td>{{data.title}}</td>
<td>{{data.price}}</td>
<td>{{data.sku_number}}</td>
<td>{{data.product_details}}</td>
<td>{{data.size}}</td>
<td>{{data.quantity}}</td>
<td>{{data.image}}</td>
</tr>
</tbody>
</table>
помощь будет очень признательна, спасибо!
Вы используете many=True
для одного объекта, как сказал @enes. Аргумент many
используется, когда вы хотите сериализовать кверисет. В данном случае вы хотите сериализовать только один объект. Измените его на следующий:
product = POLLSerializer(prod)