Django modelfrom 上传文件时保存文件各属性,大小,类型等
时间: 2024-04-13 16:30:54 浏览: 72
在Django中,你可以使用`FileField`或`ImageField`字段来处理上传文件并保存其属性。这些字段可以保存文件的大小、类型、路径等信息。以下是一个示例:
```python
from django.db import models
class MyModel(models.Model):
file = models.FileField(upload_to='uploads/')
size = models.IntegerField(null=True)
file_type = models.CharField(max_length=50, null=True)
def save(self, *args, **kwargs):
# 保存文件属性
if self.file:
self.size = self.file.size
self.file_type = self.file.file.content_type
super().save(*args, **kwargs)
```
在上面的示例中,我们定义了一个`MyModel`模型,其中有一个`FileField`字段来保存上传的文件。我们还定义了一个`size`字段来保存文件的大小,以及一个`file_type`字段来保存文件的类型。在模型的`save`方法中,我们重写了父类的`save`方法,以保存文件的属性信息。
请注意,在上述示例中,我们使用了`upload_to`参数来指定文件上传的目录。你可以根据需要修改该参数来适应你的项目结构。
希望这可以帮助你完成文件上传时保存文件属性的需求!如果你有任何其他问题,请随时问我。
阅读全文