我需要从表中导出一些数据(不是所有字段+某些属性),并将其作为附件发送到电子邮件中。
我正在考虑使用CSV内容创建一个StringIO对象,并将其上传到blobstore并将该文件附加到电子邮件中。但我不知道如何从StringIO转到上传文件。
我们可能正在处理100K +记录,这可能是个问题吗?
答案 0 :(得分:2)
作为documented,mail.send_mail
函数接受一个参数'attachments',它应该是一个2元组的列表,是文件名和要附加的文件的内容。您可以通过调用{IM}上的.get_value()
来获取StringIO中的内容。
就尺寸而言,外发电子邮件限制为10MB。如果您的CSV文件大于那个,那么是的,您将遇到麻烦。如果可以,请在发送之前使用gzip或zipfile对其进行压缩。