我想扩展"州" 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)
答案 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')])