是否有可能根据条件改变字段的关系?

时间:2015-12-03 07:11:57

标签: openerp odoo-8 openerp-8

假设有一个字段'A'并且有一个字段声明说

 A:fields.many2one('new.new') 

然后基于任何条件,相同的字段应该得到不同的关系,如

if condition:
   A:fields.many2one(old.old)

有可能吗?

1 个答案:

答案 0 :(得分:0)

AFAIK答案是否定的。您无法在运行时更改m2o字段的模型。它需要更改安装/更新模块时创建的外键和其他IR关系。 也许你可以通过创造两者来实现类似的东西

A: fields.many2one('old.old')
B: fields.many2one('new.new')
C: fields.Boolean()#condition, eventually computed

然后根据您的情况使用 A B

视图部分

<field name="C" invisible="1"/>
<field name="A" attrs="{'invisible': [('C','=',False)]}"/>
<field name="B" attrs="{'invisible': [('C','=',True)]}"/>

C总是不可见的,A和B的可见性取决于C