2

我有一个表格,如果我使用 存储文件form.save(),整个文件内容是存储在 DB 中还是只是文件路径?

假设我有数十万或数百万个文件。因为表的大小必须很大,所以将它们全部存储在数据库中是否有效?

如果我不想将它们存储在数据库中并简单上传并将它们保存在本地文件系统中,有什么办法可以获得所有文件名的列表?通过将它们存储在数据库中,我只需通过以下方式获得:

AllDocument.objects.all()

谢谢!

4

3 回答 3

2

实际上,默认情况下,django 只存储 db 中文件的路径,而不是文件本身,因此即使存储数百万个文件条目也没有问题。我认为将文件路径存储在其他地方不是一个好主意。至少,它会比使用 Django Manager 更复杂。

于 2015-09-25T02:53:31.180 回答
2

我认为 Django 将文件存储在媒体或静态根文件中,并将路径存储在数据库中。

于 2015-09-25T03:14:10.330 回答
0

博士。

将附加到您的 MEDIA_ROOT 设置以确定 url 属性的值的本地文件系统路径。

我认为这可以帮助您澄清问题。一个文件上传字段。文件字段

该文件作为将模型保存在数据库中的一部分保存,因此在保存模型之前不能依赖磁盘上使用的实际文件名。

FileField 和 FieldFile

于 2015-09-25T05:13:21.263 回答