Python 为不带表单的文件字段保存文件
我需要为Python 为不带表单的文件字段保存文件,python,django,django-models,Python,Django,Django Models,我需要为FileField对象保存文件,该对象不是从表单(而是从我的代码)获取其名称和内容。怎么做 我需要像这样的东西: field = FileField() ... save_under_name(field, name, content_bytes) 如何编写此函数在\u名称下保存\u 我还需要获得保存文件名的链接。好的,您很可能需要使用FieldFile对象,该对象定义FileField的内容来保存文件。要创建字段文件,可以在文件系统中使用文件描述符或表示文件内容的字符串。Django
FileField
对象保存文件,该对象不是从表单(而是从我的代码)获取其名称和内容。怎么做
我需要像这样的东西:
field = FileField()
...
save_under_name(field, name, content_bytes)
如何编写此函数在\u名称下保存\u
我还需要获得保存文件名的链接。好的,您很可能需要使用
FieldFile
对象,该对象定义FileField
的内容来保存文件。要创建字段文件
,可以在文件系统中使用文件描述符或表示文件内容的字符串。Django doc对field.save()
方法有很好的解释,引用:
或
from django.core.files.base import ContentFile
myfile = ContentFile("hello world")
那就做吧
obj.field.save('filename', myfile)
.据我所知,您可以在模型中覆盖save方法,然后在保存之前更改记录中的值。如果需要填充两个文件字段,该怎么办?我发现了解决方案:FieldFile.save有一个
save
参数,默认为True
。将其设置为False
,分配完文件后,可以使用obj.save()
保存整个对象。
obj.field.save('filename', myfile)