假設有一個場「A」,並具有域聲明說根據條件可以改變字段的關係嗎?
A:fields.many2one('new.new')
,然後基於任何條件,同場應該像
if condition:
A:fields.many2one(old.old)
不同的關係,這可能嗎?
假設有一個場「A」,並具有域聲明說根據條件可以改變字段的關係嗎?
A:fields.many2one('new.new')
,然後基於任何條件,同場應該像
if condition:
A:fields.many2one(old.old)
不同的關係,這可能嗎?
AFAIK答案是否定的。您不能在運行時更改m2o字段的編碼。這將需要更改模塊安裝/更新時創建的外鍵和其他IR關係。 也許你可以通過創建兩個
A: fields.many2one('old.old')
B: fields.many2one('new.new')
C: fields.Boolean()#condition, eventually computed
,然後使用一個或乙根據您的病情達到類似的東西。
的視圖部分:
<field name="C" invisible="1"/>
<field name="A" attrs="{'invisible': [('C','=',False)]}"/>
<field name="B" attrs="{'invisible': [('C','=',True)]}"/>
C是永遠看不見的,A和B可見性取決於基於C
亞歷山德羅,首先謝謝你。即使我對此有疑問。根據條件,我們可以使用attrs和不可見來切換需要以xml顯示的字段嗎? –
查看我的更新回答 –
好的,現在就試試吧 –
你的問題是,如果condtion是真,那麼創建many2one領域? –
不,起初many2one字段是用關係(表)'new.new'聲明的,那麼是否可以將關係(表)改爲old.old並重新聲明相同的many2one字段? –