Django Rest Framework:如何在rest_framework.FileField的自定义书面验证器中访问文件的大小?

Adi*_*lik 2 django django-validation django-rest-framework

我不知道如何访问验证器中的大小。

这是我的代码

# serializers.py
class VideoSerializer(serializers.ModelSerializer):
    """ Base serializer for Video model"""

    video = serializers.FileField(validators=[validate_file_type, validate_file_size])

    class Meta:
        model = Video
        read_only_fields = ('video',)


# validators.py
def validate_file_size(temp_file):
    ...
Run Code Online (Sandbox Code Playgroud)

现在,我不知道如何从临时文件访问文件大小。

这里。print(repr(temp_file))输出以下内容。

<tempfile._TemporaryFileWrapper object at 0x7f8bec3b0438>

Adi*_*lik 5

temp_file.size 返回文件大小(以字节为单位)。

temp_filedjango.core.files.TemporaryUploadedFile的实例