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()