Создаю файл, передаю в модель и получаю неожиданную ошибку
Создал модель БД в которую хочу складывать файл о проведенном тестировании и список проведенных тестов в виде строки.
Models.py
class ReportClass(models.Model):
report = models.FileField()
ran_tests = models.CharField('Проведенные тесты', max_length=1000, default='')
date = models.DateField('Дата проведения', default=datetime.date.today)
В функции создаю файл в который кладу некоторый отчет
report_file = open('report.txt', 'w')
Потом формирую строку str, в которой указаны наименование проведенных тестов
running_tests = ''
...
running_tests = running_tests + TestClass.objects.get(pk=int(s_id)).name + ', '
(UPD) TestClass.objects.get().name тоже CharField
class TestClass(models.Model):
name = models.CharField('Название', max_length=50, default='')
Потом пытаюсь создать объект класса Report class
report = ReportClass.objects.create(report=report_file, ran_tests=running_tests)
и получаю ошибку: AttributeError: '_io.TextIOWrapper' object has no attribute '_committed'
Прошу вразумить и ткнуть носом, где я накосячил...
Ответы (1 шт):
Автор решения: Tim-Tam
→ Ссылка
Так как в django хранятся не файлы, а ссылки на файл то необходимо передавать путь к файлу. Например так
...create(report=report_file.name, ran_tests=running_tests)