django-rest-framework - ValueError:“field_name”属性没有与之关联的文件-仅在更新时?
问题描述
我使用 DRF 和 django-storages 将文件上传到 S3 存储桶。
我可以从管理员或从 POST 到 API 端点创建任何带有文件的新条目。
但是由于某种原因,一旦我尝试更新实例(无论是从管理员还是从 API 端点),我都会得到一个ValueError
似乎表明DRF 找不到文件的信息。
但是当我使用 Django 的 admin 或 shell 时,我看到文件已正确保存(FieldFile
在实例上)并且文件已保存在存储桶中。
我没有覆盖任何东西:不是管理表单,不是序列化程序的更新方法,不是视图的检索方法等。
我不知道这怎么可能。
有什么建议吗?
解决方案
我最终找到了解决方案。在我的代码中的某个地方,序列化程序的一个字段有一个to_representation()
返回.instance
而不是instance.url
. 我希望这对任何人都有帮助。
推荐阅读
- sublimetext3 - 如何更新 Sublime Text 3 以使用 Python 3.10 语法
- javascript - Function to find if date is within period suddenly broken. Anyone able to explain why?
- angular - Angular Loop 在获取的可观察数组数据上并在其中获取另一个数据数组
- python - 如何设置新值以列出相同的数字多次出现?
- reactjs - 如何在 useEffect 向 Reactjs 应用程序添加新的 HTML?
- c++ - 为什么 std::map::erase 返回 int 而不是 bool?
- python - 我的代码删除了列表中的最后一项,而不是我想要的项目
- javascript - 无法从 TMDB 获取成人或非数据属性
- php - foreach 在 1 次迭代后停止运行
- ansible - 如何使用 ansible-galaxy 命令列出 Ansible Galaxy 角色的版本?