按Django中的文件大小过滤(FileField)

时间:2018-10-23 16:13:30

标签: django django-orm filefield

我有一个模特:

class MyModel(models.Model):
    file = models.FileField(verbose_name='File', upload_to="files/")

我可以获得以字节为单位的文件大小:

size = my_model_instance.file.size

如何在Django中按文件大小过滤?像这样:

MyModel.object.filter(file.size__lt=128)

1 个答案:

答案 0 :(得分:2)

不能。 <html> <head> <link rel="stylesheet" href="side1.css" ;> </head> <body> <div id="container"> <div id="vindu1"></div> <img id="slott" src="https://uploads.codesandbox.io/uploads/user/aa69e076-b797-4e7e-bcb7-5361856ae103/LWD8-castlemod.png" height="600px"> <img id="siluette" src="https://uploads.codesandbox.io/uploads/user/566a27be-83e1-4eee-a368-4640077fe5d5/0xb9-bakgrunn1.png"> <a href="side2.html"> <div id="dor"></div> </a> <div id="maane"></div> </div> <!-- End Container--> </body> </html>实际上会打开关联的文件并从磁盘获取大小。保存在数据库中的唯一内容是文件的路径。

如果您希望能够按文件大小进行过滤,则必须将大小保存在数据库中,作为模型的额外字段。保存模型时,您可以自动填充该字段。