2

我有一个 django 表单,其中有一个接受用户简历的 FileField。稍后我会将简历转换为 html 文档。所以我想立即腌制原始文档并将其存储在一个 db 列中,然后将其解压缩并转换它。那可能吗?

4

2 回答 2

3

我认为您不需要对 FileField 实例进行酸洗。所有 FileField 存储都是保存文件的驱动器上的路径......从这个意义上说,文件已经存储以供以后使用,并且酸洗字段实例并不会真正为您带来太多好处。事实上,由于该字段实际上并不存储数据,因此酸洗它不会真正做任何事情:-) 请参阅FileField 上的 django 文档

保存带有 FileField 的模型时,它会将文件路径保存到简历。以后出现的任何进程都可以从驱动器加载简历,将其转换为 HTML,然后删除原始简历,或执行您喜欢的任何其他“清理”处理。

如果您需要将实际文件内容存储在数据库中,您将考虑为您的模型创建一个 Blob 字段... Blob 是特定于数据库的。这个关于 SO的问题有一个简单的实现。但是请注意,许多人认为将二进制文件存储在数据库中是一个性能不佳的想法,实际上您应该小心以这种方式构建您的应用程序。这个 google django-developers 论坛帖子有一些关于 Django 和 blob 的很好的讨论和示例代码。

于 2009-06-01T13:13:25.163 回答
3

最好只存储文件,然后在要转换时再次打开它。将其腌制并存储在数据库中将对您的性能产​​生很大影响。特别是如果文件很大。

于 2009-06-01T13:24:46.327 回答