如何在 odoo 12 上覆盖向导的方法
How to override wizard's method on odoo 12
我正在尝试覆盖向导 class 上的单个方法,该方法在用户单击提交时执行。
account_consolidation_custom/wizard/CustomClass.py
class AccountConsolidationConsolidate(models.TransientModel):
_name = 'account.consolidation.consolidate_custom'
_inherit = 'account.consolidation.base'
def get_account_balance(self, account, partner=False, newParam=False):
....my custom code...
account_consolidation_custom/__manifest_.py
{
'name': "account_consolidation_custom",
'summary': """""",
'description': """
""",
'author': "My Company",
'website': "http://www.yourcompany.com",
'category': 'Uncategorized',
'version': '0.1',
'depends': ['base','account_consolidation'],
# always loaded
'data': [],
}
方法的名字和原来的一模一样,但是当我点击提交按钮时,似乎没有任何反应,仍然是从基础模块而不是自定义调用方法。
你知道如何只覆盖一个方法而不是整个向导吗class?
当为私有属性 _name
和 _inherit
赋予不同值时,您正在创建一个新的 wizard/transient 模型。相反,您应该将原始的 odoo 模型名称 account.consolidation.consolidate
用于两个属性,或者完全删除 _name
属性。
Odoo 有自己的继承机制,由三个 class 属性管理 _name
、_inherit
和 _inherits
.
我能够使用以下代码使其工作:
class AccountConsolidationConsolidate(models.TransientModel):
_inherit = 'account.consolidation.consolidate'
def get_account_balance(self, account, partner=False, newParam=False):
....my custom code...
之后我可以覆盖基本方法。
我正在尝试覆盖向导 class 上的单个方法,该方法在用户单击提交时执行。
account_consolidation_custom/wizard/CustomClass.py
class AccountConsolidationConsolidate(models.TransientModel):
_name = 'account.consolidation.consolidate_custom'
_inherit = 'account.consolidation.base'
def get_account_balance(self, account, partner=False, newParam=False):
....my custom code...
account_consolidation_custom/__manifest_.py
{
'name': "account_consolidation_custom",
'summary': """""",
'description': """
""",
'author': "My Company",
'website': "http://www.yourcompany.com",
'category': 'Uncategorized',
'version': '0.1',
'depends': ['base','account_consolidation'],
# always loaded
'data': [],
}
方法的名字和原来的一模一样,但是当我点击提交按钮时,似乎没有任何反应,仍然是从基础模块而不是自定义调用方法。
你知道如何只覆盖一个方法而不是整个向导吗class?
当为私有属性 _name
和 _inherit
赋予不同值时,您正在创建一个新的 wizard/transient 模型。相反,您应该将原始的 odoo 模型名称 account.consolidation.consolidate
用于两个属性,或者完全删除 _name
属性。
Odoo 有自己的继承机制,由三个 class 属性管理 _name
、_inherit
和 _inherits
.
我能够使用以下代码使其工作:
class AccountConsolidationConsolidate(models.TransientModel):
_inherit = 'account.consolidation.consolidate'
def get_account_balance(self, account, partner=False, newParam=False):
....my custom code...
之后我可以覆盖基本方法。