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