Я получил ошибку при попытке сериализации изображений продукта
AttributeError: Получена ошибка AttributeError при попытке получить значение для поля picture
на сериализаторе ProductSerializer
.
Поле сериализатора может быть названо неверно и не совпадать с атрибутом или ключом экземпляра Product
.
Оригинальный текст исключения был: 'Product' object has no attribute 'picture'.
class ProductImageSerializer(serializers.ModelSerializer):
class Meta:
model = Picture
fields = ['picture']
class ProductSerializer(serializers.ModelSerializer):
category = serializers.ReadOnlyField(source='category.name')
discount = serializers.ReadOnlyField(source='discount.name')
picture = ProductImageSerializer(many=True)
class Meta:
model = Product
fields = ['_id', 'category', 'discount', 'name_geo', 'picture', 'brand', 'size',
'technicalRequirements', 'instructionForUse', 'safetyStandard',
'youtubeUrl', 'price', 'createdAt', 'user']
class Picture(models.Model):
picture = models.ImageField(null=True, blank=True, default='/placeholder.png')
product = models.ForeignKey(Product, on_delete=models.CASCADE)
def __str__(self):
return str(self.picture)
В сериализаторе изображений у вас many=True. Я не вижу вашу модель продукта, но попробуйте установить значение false.