我正在使用设置为使用 DefaultStorage 后端的 Django FileField 保存一些上传的文件。在文件上传后的某个时候,我想将它们移动到不同的存储后端,即更改 FileField 的 storage
属性(obv。保存内容后源文件到新的存储位置)。简单地更改 FileField 实例存储似乎不起作用。
如果不使用已被告知使用不同存储后端的第二个 FileField 模型属性,这是否可能?理想情况下,我不想在字段上加倍,也不必在引用这些文件的所有模板中放置开关。
谢谢!
最佳答案
似乎与 FileField
关联的 storage
没有写入数据库,因此在特定字段实例上设置它不会持续存在。相反,它是从与模型关联的 FileField
实例中读取的(因此,如果您有 file = models.FileField(..., storage=some_storage)
它将重置为 some_storage
每次模型由 Django 设置时)。
https://stackoverflow.com/questions/3465300/