我有一个模型A,它与另一个模型B有一个1mny的关系,后者与模型C有一个one2many的关系。 我想使用self.update更新模型A in和onchange方法中的one2many关系,因此相应地更新模型B中的one2many关系。 我已经设法更新了第一个,但第二个没有在这里更新我所做的:
temp.append((0,0,{
'periode':periode,
'ca':ca,
'loc':loc,
'line_rs':line_rsc,
}))
self.update({
'periode_line':temp
})
其中line_rsc是应该用于更新第二个的列表 one2many关系
由于
答案 0 :(得分: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上进行更改...
答案 1 :(得分:0)