Как загрузить json.dump в поле FileField модели
Похоже, я не могу решить эту проблему, которая есть в моем проекте Django
У меня есть модель с полем FileField. Теперь я пытаюсь создать файл с json данными для хранения в этом поле. Я решал эту проблему разными способами и пришел к выводу (правильно или нет), что мне не нужно записывать файл, а нужно иметь возможность сбрасывать данные непосредственно в файл
Все это встроено в пользовательскую_команду.
Моя модель
class Free_FileHistory(models.Model):
free_file= models.FileField(upload_to=get_inv_file_filepath, null=True, blank=True, verbose_name='File',validators=[validate_file_size])
....
Мой код
OBJ = Free_FileHistory.objects.get(free_transfer_id=ID)
# ID is a unique identifier
file = (ID)
# CreateDictioneryJSON is a my own function that take two given arrays of keys and values and create one data directory
data = CreateDictioneryJSON(HEADER,ROW)
read=json.dumps(data, indent=4)
print(read)
OBJ.free_file.save(file,read)
print(read) выводит данные так, как я хочу. Я получаю ошибку: 'str' object has no attribute 'closed'
Решение было близким. Код пришлось немного изменить
file = (ID + '.json')
OBJ = Free_FileHistory.objects.get(free_transfer_id=ID)
data = CreateDictioneryJSON(HEADER,ROW)
read=json.dumps(data, indent=4)
txt= ContentFile(read.encode('utf-8'))
OBJ.free_file.save(file, txt)