在 Odoo 11 中扩展模型的状态
Extend States for Model in Odoo 11
我想扩展 mrp.production 模型的 "state" 列。我在 https://www.odoo.com/de_DE/forum/how-to/developers-13/how-to-extend-fields-selection-options-without-overwriting-them-21529 中找到了一个示例,但它似乎在 odoo 11 中不起作用。
即__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)
我收到的错误是:
AttributeError: 'mrp.production' object has no attribute '_columns'
您遵循的教程适用于旧 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')])
您不需要扩展 __init__
。请查看 documentation 以初步了解如何扩展 odoo 业务模型。
对于您的示例,正确的代码是:
from odoo import models, fields
class MrpProduction(models.Model):
_inherit = 'mrp.production'
state = fields.Selection(
selection_add=[('other_state', 'My State')])
我想扩展 mrp.production 模型的 "state" 列。我在 https://www.odoo.com/de_DE/forum/how-to/developers-13/how-to-extend-fields-selection-options-without-overwriting-them-21529 中找到了一个示例,但它似乎在 odoo 11 中不起作用。
即__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)
我收到的错误是:
AttributeError: 'mrp.production' object has no attribute '_columns'
您遵循的教程适用于旧 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')])
您不需要扩展 __init__
。请查看 documentation 以初步了解如何扩展 odoo 业务模型。
对于您的示例,正确的代码是:
from odoo import models, fields
class MrpProduction(models.Model):
_inherit = 'mrp.production'
state = fields.Selection(
selection_add=[('other_state', 'My State')])