Я пытался назначить файл с моего диска на FileField, но у меня есть эта ошибка:
AttributeError: у объекта' str 'нет атрибута' open '
Мой код на Python:
pdfImage = FileSaver()
pdfImage.myfile.save('new', open('mytest.pdf').read())
и мой models.py
class FileSaver(models.Model):
myfile = models.FileField(upload_to="files/")
class Meta:
managed=False
Заранее благодарю за помощь
Django использует собственный тип файла (с несколько расширенными функциональными возможностями). В любом случае тип файла Django работает как декоратор , поэтому вы можете просто обернуть его вокруг существующих файловых объектов, чтобы удовлетворить потребности Django API.
from django.core.files import File
local_file = open('mytest.pdf')
djangofile = File(local_file)
pdfImage.myfile.save('new', djangofile)
local_file.close()
Конечно, вы можете украсить файл на лету, написав следующее (на одну строку меньше):
pdfImage.myfile.save('new', File(local_file))