类型错误:只能拼接元组(没有“名单”),以元组” - Odoo V9

问题描述:

我有这样的模式:类型错误:只能拼接元组(没有“名单”),以元组” - Odoo V9

class paymentTerm(models.Model): 
    _inherit = 'account.payment.term' 

    dte_sii_code = fields.Selection((
     ('1', '1: Contado'), 
     ('2', '2: Credito'), 
     ('3', '3: Otro')), 'DTE Sii Code',) 

我想一些字段添加到这一选择,从另一个模块,像这样:

class paymentTerm(models.Model): 
    _inherit = 'account.payment.term' 

    dte_sii_code = fields.Selection(selection_add=[('1', 'COB1'),('2','COBRANZA'),('11','ACRED'),('12','CBOF'),('21','S/PAGO'),('32','ANTICIPO')]) 

但是当我尝试将其应用到我的模块,Odoo服务器抛出我:

2016-11-25 02:04:06,338 13570 ERROR odoo_solti_ultima openerp.modules.registry: Failed to load registry 
Traceback (most recent call last): 
File "/home/kristian/odoov9/odoo-9.0c-20161106/openerp/modules/registry.py", line 386, in new 
openerp.modules.load_modules(registry._db, force_demo, status, update_module) 
File "/home/kristian/odoov9/odoo-9.0c-20161106/openerp/modules/loading.py", line 340, in load_modules 
registry.setup_models(cr) 
File "/home/kristian/odoov9/odoo-9.0c-20161106/openerp/modules/registry.py", line 197, in setup_models 
model._setup_base(cr, SUPERUSER_ID, partial) 
File "/home/kristian/odoov9/odoo-9.0c-20161106/openerp/api.py", line 250, in wrapper 
return old_api(self, *args, **kwargs) 
File "/home/kristian/odoov9/odoo-9.0c-20161106/openerp/api.py", line 354, in old_api 
result = method(recs, *args, **kwargs) 
File "/home/kristian/odoov9/odoo-9.0c-20161106/openerp/models.py", line 3019, in _setup_base 
self._add_field(name, field.new()) 
File "/home/kristian/odoov9/odoo-9.0c-20161106/openerp/api.py", line 248, in wrapper 
return new_api(self, *args, **kwargs) 
File "/home/kristian/odoov9/odoo-9.0c-20161106/openerp/models.py", line 471, in _add_field 
field.setup_base(self, name) 
File "/home/kristian/odoov9/odoo-9.0c-20161106/openerp/fields.py", line 406, in setup_base 
self._setup_attrs(model, name) 
File "/home/kristian/odoov9/odoo-9.0c-20161106/openerp/fields.py", line 1498, in _setup_attrs 
self.selection = OrderedDict(self.selection + selection_add).items() 
TypeError: can only concatenate tuple (not "list") to tuple 

任何想法阿布这个?

我认为它与原始模型做的,但我不那么肯定

我的工作Odoo V9社区。

选择数据类型需要元组列表。你已经用元组声明了dte_sii_code。它应该是元组列表

请尝试下面的代码。

class paymentTerm(models.Model): 
    _inherit = 'account.payment.term' 

    dte_sii_code = fields.Selection([ 
     ('1', '1: Contado'), 
     ('2', '2: Credito'), 
     ('3', '3: Otro')], 'DTE Sii Code') 

class paymentTerm(models.Model): 
    _inherit = 'account.payment.term' 

    dte_sii_code = fields.Selection(selection_add=[('4', 'COB1'), 
     ('5','COBRANZA'), 
     ('11','ACRED'), 
     ('12','CBOF'), 
     ('21','S/PAGO'), 
     ('32','ANTICIPO')]) 

注:

我们应该关心的关键。如果你添加同一个键的元组,那么它将会被新的定义覆盖。

+0

非常感谢你,是的,我怀疑这一点,但我并不确定,再次谢谢你! – NeoVe