Python 无法将文件附件保存到Django模型文件字段中

Python 无法将文件附件保存到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

我目前正在将exchange server电子邮件集成到我的应用程序中。我可以使用exchangelib从电子邮件中检索附件。我正在尝试将附件保存到Django模型文件字段中。但是,它无法处理基于我尝试的不同解决方案的不同错误。感谢您的帮助。非常感谢。下面是我的一些代码:

models.py

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在这种情况下做了什么吗?非常感谢你的帮助@在本例中,AngYangCheng
ContentFile
帮助将字符串
attachment.content
转换为类似文件的对象,这是
save
方法所需的。它起作用了!我可以知道contentfile在这种情况下做了什么吗?非常感谢你的帮助@在本例中,AngYangCheng
ContentFile
帮助将字符串
attachment.content
转换为
save
方法所需的类似文件的对象