首页 > 解决方案 > ValueError:“field_name”属性没有与之关联的文件-仅在更新时?

问题描述

我使用 DRF 和 django-storages 将文件上传到 S3 存储桶。

我可以从管理员或从 POST 到 API 端点创建任何带有文件的新条目。

但是由于某种原因,一旦我尝试更新实例(无论是从管理员还是从 API 端点),我都会得到一个ValueError似乎表明DRF 找不到文件的信息。

但是当我使用 Django 的 admin 或 shell 时,我看到文件已正确保存(FieldFile在实例上)并且文件已保存在存储桶中。

我没有覆盖任何东西:不是管理表单,不是序列化程序的更新方法,不是视图的检索方法等。

我不知道这怎么可能。

有什么建议吗?

标签: django-rest-frameworkpython-django-storages

解决方案


我最终找到了解决方案。在我的代码中的某个地方,序列化程序的一个字段有一个to_representation()返回.instance而不是instance.url. 我希望这对任何人都有帮助。


推荐阅读