odoo 从另一个 class 调用按钮上的方法

odoo call a method on button from anthor class

大家好,我想从另一个对象调用一个方法,但我不知道如何修复它来调用一个方法这是我的代码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'

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

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

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