在使用DRF保存之前检查上载的文件

时间:2018-06-03 18:19:30

标签: django python-3.x django-rest-framework

使用Django REST Framework,我构建了一个ViewSet来执行文件上传。 在我的ViewSet中,我希望能够在perform_create或类似的事情期间检查内存中的文件。

我的简化模型是:

class UploadedFile(models.Model):
    comment = models.CharField(max_length=200)
    file = models.FileField(upload_to="imports")

序列化器:

class UploadedFileSerializer(serializers.HyperlinkedModelSerializer):

    file = serializers.FileField(max_length=None, use_url=True)

    class Meta:
        model = UploadedFile
        fields = ("comment", "file")

我的ViewSet:

class UploadedFileViewSet(viewsets.ModelViewSet):

    queryset = UploadedFile.objects.all()
    serializer_class = UploadedFileSerializer

    def perform_create(self, serializer):
        assert serializer.data['comment'] != None <---- No problem
        assert serializer.data['file'] != None <------- This fails

我对DRF很新,所以我可能会遗漏一些基本的东西。为什么serializer.data['file']无?

0 个答案:

没有答案