You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django/Python中保存PDF字节流到数据库出现_committed错误如何解决

报错原因

你使用的document字段是Django的FileField类型,该类型字段不支持直接赋值原始bytes数据,它仅接受Django内置File类及其子类的实例。_committed是Django文件类用于标记文件存储状态的内置属性,原生bytes对象不存在该属性,因此触发报错。

解决方法

使用Django内置的ContentFile类将原始bytes包装为符合要求的文件对象即可,操作代码如下:

  • 首先导入ContentFile
from django.core.files.base import ContentFile
  • 修改赋值存储逻辑
# 参数1为pdf字节数据,参数name为保存到数据库/存储后端的文件名,可按需自定义
pdf_content = ContentFile(myPDF, name="output.pdf")
obj.document = pdf_content
obj.save()

你也可以直接调用字段的save方法完成写入,无需单独调用模型的save:

obj.document.save("output.pdf", ContentFile(myPDF), save=True)

内容的提问来源于stack exchange,提问作者bones225

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 14:30:02