django - 有没有办法修改 Django FileField 使用的存储后端?

我正在使用设置为使用 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/

相关文章:

unit-testing - 安排 Jmeter 分布式测试

android - 连接到另一台机器上的 Android 模拟器

excel - 如何使用 Excel 公式(无 VBA)在 HTTP POST 响应中检索一段数据?

visual-studio - 如何创建支持多实例(多次安装)的安装工程?

.htaccess - 多语言站点,基于 cookie 或接受语言的重定向 (RewriteRule

.net - 高性能文件操作和 I/O 完成线程

logging - Jmeter 虽然在本地工作,但在其他环境中不起作用

maven-2 - 使用 JMeter + Maven 和 https 协议(protocol)

.net - 是否有将图像重新抗锯齿为不同背景颜色的技术?

ruby-on-rails - 从mysql导入夹具数据