整数字段自动设置为文件字段的大小

2024-09-30 02:31:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些带有文件字段的模型和一堆验证器

class VideoContent(models.Model):
    file = models.FileField(upload_to='video_files', validators=[validate_file_extension, validate_file_size])
    size = models.IntegerField(null=False)

有没有办法根据文件大小自动计算大小?你知道吗


Tags: 文件to模型sizemodelmodelsvideofiles
1条回答
网友
1楼 · 发布于 2024-09-30 02:31:07

您应该使用默认设置的^{}属性。你知道吗

您的文件大小验证程序应该如下所示:

def validate_file_size(value):
    if value.size > 1048576:  # Larger than 1MB
        raise ValidationError(u'%s file is too big' % value.name)

您还可以重写模型save(),以便在保存对象时设置VideoContent.size值:

class VideoContent(models.Model):
    ...
    def save(self, *args, **kwargs):
        self.size = self.file.size
        super(VideoContent, self).save(*args, **kwargs)
        self.size = self.file.size

相关问题 更多 >

    热门问题