Форум сайта python.su
У меня стоит две схожих задачи:
1) записать некий текст из БД в файл связанный с FileField
2) связать сгенерированный сервером файл (архив) с FileField
Стандартное FieldFile.save требует наличия chunks, которые у строки и питоновского файла отсутствуют.
Что посоветуете делать в данной ситуации?
Переходить на FilePathField не очень бы хотелось…
Офлайн
Решил пока так:
from django.core.files import File
import os
f = open(tmp_path, 'w')
f.write(some_text)
f.close()
f = open(tmp_path)
dj_f = File(f)
model_object.file.save('file', dj_f)
f.close()
os.remove(tmp_path)
Офлайн
fth
Решил пока так:Но хотелось бы всё же как-нибудь по красивее…from django.core.files import File
import os
f = open(tmp_path, 'w')
f.write(some_text)
f.close()
f = open(tmp_path)
dj_f = File(f)
model_object.file.save('file', dj_f)
f.close()
os.remove(tmp_path)
f = open(tmp_path, 'w')
f.write(some_text)
f.close()
setattr(model_object, 'file', tmp_path)
model_object.save()
Офлайн
Благодарю!
И небольшое исправление, должно быть так:
path = grt_file_path(model_object)
f = open(MEDIA_ROOT + path, 'w')
f.write(some_text)
f.close()
setattr(model_object, 'file', path)
model_object.save()
Отредактировано (Ноя. 2, 2010 18:51:42)
Офлайн