如何使用继承在已定义的odoo模型的选择字段中添加一个条目

问题描述 投票:1回答:1

环境: - Odoo 9,Python 2.7

模块A.

from openerp import models, fields, api, _, exceptions

class Games(models.Model):
    _name = 'moduleA.games'

    game = fields.Selection([
       ('cricket', 'Cricket'),
       ('hockey', 'Hockey'),
       ('golf', 'Golf')], 
       string='Game', default='cricket', required=True
    )

模块B.

from openerp import models, fields, api, _, exceptions

class ExtraGames(models.Model):
    _inherit = 'moduleA.games'

    def __init__(self, pool, cr):
        res = super(ExtraGames,self)._columns # res = {}
        super(ExtraGames,self)._columns['game'].selection.append(
            ('chess', 'Chess')
        )

现在使用该代码,我想在已经定义的游戏列表中添加一个游戏国际象棋,但它不起作用。实际上我得到空字典({})作为超级(ExtraGames,self)._列的结果,因为它给它KeyError'游戏'。

我们怎么做?

openerp odoo-9
1个回答
3
投票

你可以使用selection_add

from openerp import fields, models

class ExtraGames(models.Model):
    _inherit = 'moduleA.games'

    game = fields.Selection(
        selection_add=[('chess', 'Chess')],
    )
© www.soinside.com 2019 - 2024. All rights reserved.