Python 无法将文件附件保存到Django模型文件字段中
我目前正在将exchange server电子邮件集成到我的应用程序中。我可以使用exchangelib从电子邮件中检索附件。我正在尝试将附件保存到Django模型文件字段中。但是,它无法处理基于我尝试的不同解决方案的不同错误。感谢您的帮助。非常感谢。下面是我的一些代码: models.pyPython 无法将文件附件保存到Django模型文件字段中,python,django,exchangelib,Python,Django,Exchangelib,我目前正在将exchange server电子邮件集成到我的应用程序中。我可以使用exchangelib从电子邮件中检索附件。我正在尝试将附件保存到Django模型文件字段中。但是,它无法处理基于我尝试的不同解决方案的不同错误。感谢您的帮助。非常感谢。下面是我的一些代码: models.py class Attachments(models.Model): name = models.CharField(max_length=255) attachment = models.Fi
class Attachments(models.Model):
name = models.CharField(max_length=255)
attachment = models.FileField(upload_to="attachments/")
views.py
for attachment in item.attachments:
if isinstance(attachment, FileAttachment):
attachmentlist.append(attachment.name)
saveattachments = Attachments(
name=attachment.name,
attachment=(attachment.content)
)
saveattachments.save()
请查看下面的代码片段,并尝试在代码中执行相同的操作
从django.core.files.base导入内容文件
...
saveattachments=Attachments(name=attachment.name)
saveattachments.attachment.save(attachment.name,ContentFile(attachment.content))
saveattachments.save()
请查看以下代码片段,并尝试在代码中执行相同的操作
从django.core.files.base导入内容文件
...
saveattachments=Attachments(name=attachment.name)
saveattachments.attachment.save(attachment.name,ContentFile(attachment.content))
saveattachments.save()
成功了!我可以知道contentfile在这种情况下做了什么吗?非常感谢你的帮助@在本例中,AngYangChengContentFile
帮助将字符串attachment.content
转换为类似文件的对象,这是save
方法所需的。它起作用了!我可以知道contentfile在这种情况下做了什么吗?非常感谢你的帮助@在本例中,AngYangChengContentFile
帮助将字符串attachment.content
转换为save
方法所需的类似文件的对象