Я хочу сериализовать модель, используя M2M через отношение. Работает нормально для всех других полей, кроме ImageField
. Ниже приведены файлы моей модели и сериализатора:
models.py
class Product(models.Model):
name = models.CharField('Name', max_length=255, null=True, blank=True)
description = models.TextField('Description', max_length=1000, null=True, blank=True)
price = models.IntegerField('Price', default=0)
image = models.ImageField('Product Image', null=True, blank=True)
class Cart(models.Model):
user = models.CharField('User ID', default="1000", max_length=255)
items = models.ManyToManyField("Product", through='CartActions', blank=True)
modified = models.DateField('Last Modified')
class CartActions(models.Model):
product = models.ForeignKey('Product', on_delete=models.CASCADE)
cart = models.ForeignKey('Cart', on_delete=models.CASCADE)
quantity = models.PositiveSmallIntegerField(default=0)
serializers.py
class ProductSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Product
fields = ['id', 'name', 'description', 'price', 'image']
class CartSerializer(serializers.HyperlinkedModelSerializer):
items = CartActionsSerializer(source='cartactions_set', many=True)
class Meta:
model = Cart
fields = ['id', 'user', 'items']
class CartActionsSerializer(serializers.HyperlinkedModelSerializer):
name = serializers.ReadOnlyField(source='product.name')
price = serializers.ReadOnlyField(source='product.price')
image = serializers.ReadOnlyField(source='product.image') # Adding this line gives error
class Meta:
model = CartActions
fields = ['name', 'price', 'image', 'quantity']
Это ошибка, которую я получаю при попадании в API :
UnicodeDecodeError в / store / api / cart /
код utf-8 c не может декодировать байт 0xff в позиции 0: неверный начальный байт
Это пример ответа, который я получаю от /api/products
API:
{
"id": 1,
"name": "Product 1",
"description": "This is a sample description",
"price": 500,
"image": "http://192.168.43.210:9000/media/sample_product.jpeg"
}
Я перепробовал почти все ссылки в stackoverflow и других сайтах, но я не могу найти точно такую же проблему нигде. Любая помощь очень ценится. Заранее спасибо.