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')
Вернуться на верх