Odoo 用many2many覆盖many2one

Odoo 用many2many覆盖many2one,odoo,odoo-8,odoo-9,Odoo,Odoo 8,Odoo 9,我试图用多个字段覆盖多个字段 property\u product\u pricelist=fields.manymany('product.pricelist', string=“销售价格表”, help=“此价格表将用于向当前合作伙伴销售,而不是默认价格表”) 当我尝试保存值时,会出现这个错误 File "/home//workspace/odoo-9.0/openerp/models.py", line 5384, in _browse env.prefetch[cls._nam

我试图用多个字段覆盖多个字段

property\u product\u pricelist=fields.manymany('product.pricelist',
string=“销售价格表”,
help=“此价格表将用于向当前合作伙伴销售,而不是默认价格表”)
当我尝试保存值时,会出现这个错误

File "/home//workspace/odoo-9.0/openerp/models.py", line 5384, in _browse
    env.prefetch[cls._name].update(ids)
TypeError: unhashable type: 'list'
我也试着喜欢这个

property\u product\u pricelist=fields.Many2many('product.pricelist',column1='partner\u id',column2='pricelist\u id'))
但是得到

ProgrammingError: column product_pricelist_res_partner_rel.pricelist_id does not exist

第1行:选择产品\u价格表\u资源\u合作伙伴\u rel.pricelist\u id,produ…

我想到的最佳解决方案

  • 创建许多全新的字段
  • 编写一个onchange方法,将原始字段(这里是many2one)的值设置为新的many2many字段
multiply\u pricelists\u id=fields.Many2many(
'product.pricelist',string='Multiply Pricelists')
@api.onchange(“财产、产品、价格表”)
@api.multi
def价格表变更(自行):
self.multiply\u pricelists\u id=self.property\u product\u pricelist

我建议您不要这样做,因为如果一个manyOne字段已经存在,那么它必须在许多不同的地方使用,并且到处都会有错误,因为需要的是一个单例而不是列表。你应该改为创建另一个字段。你所做的不好,因为你会破坏逻辑。问你问题
为什么我需要一个多个字段?