使用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']
无?