ValueError: I/O operation on closed file. при сохранении qr-кода в базу данных в Django

Здесь я хочу сохранить мой qr_код в базу данных, но сталкиваюсь со следующей ошибкой

Ошибка значения: Операция ввода/вывода в закрытый файл.

    def qr_code_file_name(instance, filename):
        return '%s/qr_codes/%s/' % (instance.client_id, filename)
    
    class ProductItems(models.Model):
        item_name = models.CharField(max_length=512)
        qr_code = models.ImageField(upload_to=qr_code_file_name, blank=True, null=True)
    
    
        def __unicode__(self):
            return self.item_name
    
        def save(self, *args, **kwargs):
            qrcode_img = qrcode.make(self.item_name)
            canvas = Image.new('RGB',(90,90),'white')
            draw = ImageDraw.Draw(canvas)
            canvas.paste(qrcode_img)
            fname = File('qrcode-code1.png')
            buffer = BytesIO()
            canvas.save(buffer,'PNG')
            self.qr_code.save(fname,File(buffer),save=False)
            canvas.close()
Вернуться на верх