2017-04-17 100 views
0

我有一個模型A,它與另一個模型B有one2mny關係,後面也有一個與模型C有一對一關係。我想使用self.update來更新one2many關係在模型中,並平變化方法,以便相應地更新模型B. 的one2many關係我已成功地更新第一個,但第二個是不是在這裏更新我做了什麼:更新One2many在視圖中的字段

temp.append((0,0,{ 
    'periode':periode, 
    'ca':ca, 
    'loc':loc, 
    'line_rs':line_rsc, 
})) 
self.update({ 
    'periode_line':temp 
}) 

其中line_rsc是應該用來更新第二個的列表 one2many relation

感謝

+0

什麼樣的API使用的是 – Cherif

+0

我使用odoo 8 – abdelkrimi

回答

0

我想這使用新的API,它似乎工作得很好:

# this will add the new record to existing records 
@api.onchange(..) 
def .....(self): 
    self.update(
     {'o2m_1_field': [{ 
         'o2m_1_field_name': 'value', 
         'o2m_1_field_o2m_2_name': [{'o2m_2_field': 'value'}] 
        }] 
     } 
    ) 

這個邏輯工作在新的API罰款。 或者你可以做這樣的

# this will add the new record to existing records 
    self.o2m_1_field += self.env['o2m.1.model.name'].new({ 
         'o2m_1_field_name': 'value', 
         'o2m_1_field_o2m_2_name': [{'o2m_2_field': 'value'}] 
        }) 

如果不爲你工作,給你不好的查詢錯誤,那麼你需要 使用最新版本的odoo 8的,因爲很多已經改變,你甚至可以 做平變化對現在o2m_field ...

+0

你嘗試這個代碼? – Cherif

+0

謝謝,但這不是我的場景 – abdelkrimi

+0

你可以把你的看法的照片嗎?它有兩個one2many? – Cherif

0

image 1

secod PIC(secod one2many關係):

image 2

image 3

相關問題