我有一个带有按钮的表单视图,其目的是测试连接。 如果连接成功,我需要返回一条消息,同时在表单视图中更新一些值。
我的.py文件中有类似的内容:
def test_connection(self):
connected = self.connect(self.ip_address, self.port)
if connected:
self.data1='a'
self.data2='b'
return True
到目前为止,我只能更新值,但如果我发出警告并显示消息:raise Warning(_('Connection OK.'))
,则数据不会更新。
有没有办法更新表单数据,同时显示信息消息?或者还有其他方法可以完成这样的事情吗?
答案 0 :(得分:2)
您可以在向导中定义raise
字段,而不是使用message
消息。
message = fields.Char('Message')
def test_connection(self):
connected = self.connect(self.ip_address, self.port)
if connected:
self.update({data1: 'a',
data2: 'b',
message: 'Your Message'})
return True
除非有消息设置,否则您可以以invisible
的方式在视图上显示它。
<field name="message" attrs="{'invisible': [('message', '=', False)]}"/>
答案 1 :(得分:2)
您不必定义消息字段,只需添加div标签,其中包含一些漂亮的CSS样式。并根据连接状态使用attrs显示或隐藏它。
在odoo中,您无法同时显示错误和更新值
答案 2 :(得分:0)
您可以同时更新值并将向导作为消息返回。我觉得这很好。如果使用ant exception或引发的警告,服务器流将阻塞,因此值不能更新,同时更新的值将被撤销。