gpt4 book ai didi

odoo - 使用自定义模块修改 OpenERP 的核心字段之一

转载 作者:行者123 更新时间:2023-12-02 17:12:32 24 4
gpt4 key购买 nike

有时我们的 OpenERP 用户想要对核心 OpenERP 模块中的字段进行一些小的更改。例如,他们希望产品屏幕的“机架”、“行”和“箱”字段长度超过 16 个字符。

我可以在不更改声明该字段的模块的情况下更改现有字段吗?我宁愿使用我们自己的自定义模块进行更改,而不是编辑 product 模块本身。

最佳答案

我已经成功了,但我希望其他人知道更干净的方法。

您可以在自定义模块中继承核心模块的类,然后只需声明一个与您要更改的名称相同的新字段。本质上,只需从核心模块复制字段声明,将其粘贴到您的自定义模块中,然后进行所需的更改。例如,我们的 product_notes 模块 widened the Rack, Row, and Case fieldsthe product module's 到 255 16.

_columns = {'loc_rack': fields.char('Rack', size=255),
'loc_row': fields.char('Row', size=255),
'loc_case': fields.char('Case', size=255)}

我不喜欢这个的原因是现在该字段的所有其他属性都有重复。如果您更改字段长度,然后核心模块更改帮助文本,您仍然会看到旧的帮助文本。我希望在模块加载时可以通过某种方式进入并调整父级的字段属性,但我找不到合适的时间任何钩子(Hook)。

您可以更轻松地进行的一项更改是字段的默认值。只需在自定义模块中为核心模块的字段声明一个默认值,它将替换原始默认值。例如,我们更改了 sale_delay and produce_delay 的默认值来自the product module中的那些.

_defaults = {'sale_delay': lambda *a: 5,
'produce_delay': lambda *a: 0}

关于odoo - 使用自定义模块修改 OpenERP 的核心字段之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11765390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com