首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在odoo 12上重写向导的方法

如何在odoo 12上重写向导的方法
EN

Stack Overflow用户
提问于 2020-01-14 16:42:19
回答 2查看 907关注 0票数 1

我试图覆盖向导类上的单个方法,当用户单击submit时执行该方法。

account_consolidation_custom/wizard/CustomClass.py

代码语言:javascript
复制
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...

帐户合并自定义/__清单_.py

代码语言:javascript
复制
{
    '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': [],
}

该方法的名称与原来的完全相同,但是当我单击submit按钮时,似乎什么都没有发生,仍然是从基本模块而不是自定义调用方法。

您知道如何只得到一个重写的方法,而不是整个向导类吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-14 18:05:25

当向私有属性_name_inherit提供不同的值时,您将创建一个新的向导/瞬态模型。相反,您应该对这两个属性使用原始的odoo模型名称account.consolidation.consolidate,或者完全删除_name属性。

Odoo有自己的继承机制,它由三个类属性_name_inherit_inherits管理。

票数 2
EN

Stack Overflow用户

发布于 2020-01-14 20:17:26

我能够使用以下代码使其工作:

代码语言:javascript
复制
class AccountConsolidationConsolidate(models.TransientModel):
    _inherit = 'account.consolidation.consolidate'

   def get_account_balance(self, account, partner=False, newParam=False):
    ....my custom code...

在此之后,我能够覆盖基本方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59738197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档