我无法想象我应该如何做以下情况;
我继承的res.partner视图中的两个字段" ExternalID"和" ExternalCode"所有字段都将被编辑,直到这两个字段被填满。在这两个填充之后,一切都将是只读的,这是我们可以通过attrs处理这个问题的简单部分。问题是当这两个字段被填满时(它们是由odoo web API从外部应用程序填充的。)我需要在加载表单之前调用外部Web API来更新只读字段。我已经尝试放置一个计算字段并使其不可见,以便在加载视图时它会被激活,我认为我应该更新其他字段但是当我编写一个计算函数时它似乎只能更新字段它被称为。
例如;
external_api_call_field = fields.Char(compute='_get_values_from_api')
@api.multi
def _get_values_from_api(self):
for record in self:
#call api and do stuff
#set the values that we got from the external application
record.company_detailed_address="Sample address line"
该方法被触发并且似乎一直在运行,但是在加载表单时,地址字段未被填充。
我试着打电话
self.write({'company_detailed_address' : 'Sample address line'})
似乎有效,但新值不会直接设置为刷新视图
感谢任何帮助或指导。
问候。