在Odoo中扩展模型的国家11

时间:2018-06-01 09:08:02

标签: odoo odoo-11

我想扩展"州" mrp.production模型的列。我在https://www.odoo.com/de_DE/forum/how-to/developers-13/how-to-extend-fields-selection-options-without-overwriting-them-21529找到了一个例子,但似乎在odoo 11中没有用。

即。 SpringBootTest.properties签名更改为__init__(从我看到的引用__init__(self, pool, cr)的错误跟踪中猜出这一点)

model.__init__(pool, cr)

我收到的错误是:

from odoo import models, fields import logging _logger = logging.getLogger(__name__) class mrp_production(models.Model): _inherit = 'mrp.production' def __init__(self, pool, cr): super(mrp_production, self).__init__(pool, cr) states = self._columns['state'].Selection _logger.debug('extend state of mrp.production') state_other = ('other_state', 'My State') if state_other not in states: states.append(state_other)

2 个答案:

答案 0 :(得分:0)

您遵循的教程适用于旧API。 你可以试试 https://www.odoo.yenthevg.com/extend-selection-odoo-10/

from odoo import models, fields, api, _
 class HrEmployee(models.Model):
    _inherit = 'hr.employee' 
    gender = fields.Selection(selection_add=[('transgender', 'Transgender')])

答案 1 :(得分:0)

您无需延长__init__。请查看documentation以了解如何扩展odoo商业模式。

为您的示例提供正确的代码:

from odoo import models, fields

class MrpProduction(models.Model):
    _inherit = 'mrp.production'

    state = fields.Selection(
        selection_add=[('other_state', 'My State')])