DRF - Загрузить действительное изображение
Надеюсь, кто-нибудь сможет мне помочь.
Я пытаюсь обновить изображение в таблице MyCards, при обновлении этого изображения система должна посмотреть, содержит ли это изображение определенное слово, если да, то пункты поля будут увеличены на один.
Но при попытке обновить изображение я получаю следующую ошибку
{
"image": [
"Upload a valid image. The file you uploaded was either not an image or a corrupted image."
]
}
Не уверен, как решить эту проблему, если кто-то может помочь в этом, было бы здорово.
пожалуйста, найдите здесь мою модель, набор представлений и сериализатор
МОДЕЛЬ:
class MyCards(models.Model):
profile = models.ForeignKey(AppUserProfile, on_delete=models.CASCADE)
card = models.ForeignKey(Cards, on_delete=models.CASCADE)
points = models.IntegerField(default=0)
image = models.ImageField(upload_to=f'media/app_user/', blank=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
def __str__(self):
return self.card.business.business_name
VIEWSET
class MyCardsViewSet(ModelViewSet):
serializer_class = UpdateMyCardsSerializer
queryset = MyCards.objects.all()
def update(self, request, pk=None, *args, **kwargs):
super().update(request, *args, **kwargs)
x = self.get_object()
img = f"media/{x.image}"
result = pytesseract.image_to_string(img)
if "Petel Chang" in result:
x.points += 1
return self.update(request, *args, **kwargs)
SERIALIZER
class UpdateMyCardsSerializer(serializers.ModelSerializer):
class Meta:
model = MyCards
fields = ('profile', 'card', 'points', 'created', 'updated', 'image')