Нужна помощь в сохранении изображения base64 в поле изображения django

Я работаю над проектом django, который возвращает изображение в кодировке base64, и я хочу сохранить изображение в поле django image. Однако я что-то упустил и буду благодарен за любую помощь. Вот модель:

class Catalogue(models.Model):
    products = models.ForeignKey(Product, on_delete=models.CASCADE)
    name = models.CharField(max_length=255, blank=True)
    description = models.CharField(max_length=255, blank=True)
    image_link = models.CharField(max_length=255, blank=True)
    image = models.ImageField(blank=True, null=True, default=None)

    def save(self, *args, **kwargs):
        self.name = self.products.name
        self.description = self.products.description
        super(Catalogue, self).save(*args, **kwargs)

    def __str__(self):
        return str(self.products)

в файле views.py, в котором я получаю изображение из api

    cat_name = []
    for e in Catalogue.objects.all():
        cat_name.append(e.name)
        print(cat_name)
        for prod_id in cat_name:
            print(prod_id)
            image_url = f"API URL HERE"
            b64 = requests.get(image_url, headers=headers).json()
            b64_img_code = b64['data']
            Catalogue.image = base64_to_image(b64_img_code)
            Catalogue.save()
    messages.success(request, "Product Added")
    return redirect('home')

Это файл утилиты, который декодирует переданную строку base64:

def base64_to_image(base64_string):
    return ContentFile(base64.b64decode(base64_string), name=uuid4().hex + ".png")

Заранее спасибо

Вернуться на верх