首页 > 解决方案 > Django rest 删除请求错误“'file' 属性没有与之关联的文件。”

问题描述

我正在为 API 使用 Django 休息框架。我试图使文件字段可选。当我创建它时instance,它可以正常工作,即我可以在没有文件的情况下上传我的数据。但是当我试图删除它时,它显示以下错误,

The 'file' attribute has no file associated with it.

models.py文件中,我写如下,

file = models.FileField(upload_to="%Y/%m/%d", null=True,  blank=True)

serializer.py文件中,我写如下,

class DataSerializer(serializers.ModelSerializer):
    file = serializers.FileField(
        required=False,  allow_empty_file=True, allow_null=True)

    class Meta:
        model = DataIndex
        fields = '__all__'

谁能帮我解决这个错误?提前致谢。

标签: pythondjangodjango-rest-framework

解决方案


我解决了这个问题。实际上,问题出在我的signals.py文件中。当我检查时,我发现post_delete信号试图获取文件位置如下,

file = instance.file.path

我写如下并解决了问题,

file = instance.file.path if instance.file else None

推荐阅读