你想看看Django文档中的FileField和FieldFile,尤其是FieldFile.save()。
基本上,声明为的字段FileField
在访问时为你提供class的实例FieldFile
,该实例为你提供了几种与基础文件进行交互的方法。因此,你需要做的是:
self.license_file.save(new_name, new_contents)
new_name
你要分配的文件名在哪里,并且new_contents
是文件的内容。请注意,new_contents
该实例必须是django.core.files.File
或的一个实例django.core.files.base.ContentFile
(有关详细信息,请参见给定的手册链接)。这两个选择可以归结为:
# Using File
f = open('/path/to/file')
self.license_file.save(new_name, File(f))
# Using ContentFile
self.license_file.save(new_name, ContentFile('A string with the file content'))