odoo从anthor类调用按钮上的方法

时间:2018-09-21 09:31:48

标签: python odoo odoo-8 odoo-10

大家好,我想从另一个对象中调用方法,但是我无法解决这个问题,这就是我的代码xml我正在使用记录继承按钮来创建按钮调用我的方法

<record id="view_send_email_homework" model="ir.ui.view">
    <field name="name">send.email.homework</field>
    <field name="model">homework.student</field>
    <field name="inherit_id" ref="parent_access.view_homework_student_form"/>
    <field name="arch" type="xml">
        <xpath expr="//button[@name='send_message']" position="replace">
            <button
                name="send_mail" type="object"
                string="Envoyer"
                class="oe_highlight"
            />
        </xpath>
    </field>
</record>  

该方法在我的代码python的另一个对象上定义

          class send_email_homework(models.Model):
          _name = 'send.email.homework'
          _inherit = 'homework.student'

         def send_mail(self, cr, uid, ids, context=None):
             email_template_obj = self.pool.get('email.template')

当我按下按钮时,他会向我显示此消息

AttributeError:“ homework.student”对象没有属性“ send_mail”

1 个答案:

答案 0 :(得分:1)

您必须删除_name = 'send.email.homework',因为在那种继承类型中,您不能继承方法。它只继承字段...

使用以下代码替换您的代码:

class send_email_homework(models.Model):
        _inherit = 'homework.student'