Python Odoo创建一个自动报告,并使用电子邮件模板将其发送给特定用户

Python Odoo创建一个自动报告,并使用电子邮件模板将其发送给特定用户,python,xml,jinja2,odoo-10,odoo-9,Python,Xml,Jinja2,Odoo 10,Odoo 9,我想生成一个自动报告,并在每个月的第一个发送到特定的电子邮件使用电子邮件模板 我想用: ir.cron对象,用于在每个 月 使用get_data()方法获取数据的stock.location对象 mail.template对象,用于通过电子邮件发送特定用户的数据 我编写了get_data()方法来从所有位置获取power_差值。问题是当我调用send\u mail()方法时。我将self.id变量设置为False,以便理解邮件模板无法呈现 我做错了什么?我正在通过get_data()方法获得

我想生成一个自动报告,并在每个月的第一个发送到特定的电子邮件使用电子邮件模板

我想用:

  • ir.cron对象,用于在每个 月
  • 使用get_data()方法获取数据的stock.location对象
  • mail.template对象,用于通过电子邮件发送特定用户的数据
我编写了get_data()方法来从所有位置获取power_差值。问题是当我调用send\u mail()方法时。我将self.id变量设置为False,以便理解邮件模板无法呈现

我做错了什么?我正在通过get_data()方法获得所需的一切,但问题是如何将记录值传递给邮件模板并发送电子邮件

get_data()方法:

邮件模板

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data noupdate="1">
        <record id="email_template_t" model="mail.template">
            <field name="name">T</field>
            <field name="email_from">example@mail.com</field>
            <field name="email_to">example1@mail.com</field>
            <field name="model_id" ref="t_stock.model_stock_location"/>
            <field name="body_html"><![CDATA[
                <p>Test</p>
                <table>
                <tbody>
                <tr>
                <th>T1</th>

                </tr>
                % if object.get_data():
                    % for values in object.get_data()
                    <tr>
                            <td>${values['power_difference']}</td>
                   </tr>
                   % endfor
                   % endif
                   </tbody></table><br>
        ]]></field>
        </record>
    </data>
</openerp>

T
example@mail.com
example1@mail.com
试验

T1 %if object.get_data(): %对于object.get_data()中的值 ${values['power_difference']} %结束 %恩迪夫
]]>
这看起来有很多工作要做……如果你得到答案,请发帖here@fueggit
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data noupdate="1">
        <record id="email_template_t" model="mail.template">
            <field name="name">T</field>
            <field name="email_from">example@mail.com</field>
            <field name="email_to">example1@mail.com</field>
            <field name="model_id" ref="t_stock.model_stock_location"/>
            <field name="body_html"><![CDATA[
                <p>Test</p>
                <table>
                <tbody>
                <tr>
                <th>T1</th>

                </tr>
                % if object.get_data():
                    % for values in object.get_data()
                    <tr>
                            <td>${values['power_difference']}</td>
                   </tr>
                   % endfor
                   % endif
                   </tbody></table><br>
        ]]></field>
        </record>
    </data>
</openerp>