“抛出异常”的版本间的差异

来自Odoo大V社-odoo中文开发手册
跳转至: 导航搜索
 
(未显示1个用户的2个中间版本)
第1行: 第1行:
 
当有什么不对时,我们会想要中断程序并显示错误消息。这是通过抛出异常来完成。Odoo 提供可用在 Python 中的几个额外的异常类。这些都是最有用的例子︰
 
当有什么不对时,我们会想要中断程序并显示错误消息。这是通过抛出异常来完成。Odoo 提供可用在 Python 中的几个额外的异常类。这些都是最有用的例子︰
 
+
<nowiki>
 
from odoo import exceptions  
 
from odoo import exceptions  
 
  raise exceptions.Warning('Warning message')
 
  raise exceptions.Warning('Warning message')
 
  raise exceptions.ValidationError('Not valid message')
 
  raise exceptions.ValidationError('Not valid message')
 +
</nowiki>
  
 +
Warning消息也会中断执行,但听起来不像ValidationError那么严重。虽然它不是友好的用户界面,我们利用这一点对Count按钮来向用户显示一条消息︰
  
警告消息也会中断执行,但听起来不像验证错误那么严重。虽然它不是最好的用户界面,我们利用这一点对Count按钮来向用户显示一条消息︰
+
<nowiki>
 
+
 
@api.multi  
 
@api.multi  
 
def do_count_tasks(self):     
 
def do_count_tasks(self):     
第13行: 第14行:
 
     count = Task.search_count([('is done', '=', False)])     
 
     count = Task.search_count([('is done', '=', False)])     
 
     raise exceptions.Warning('There are %d active tasks.' %count)
 
     raise exceptions.Warning('There are %d active tasks.' %count)
 +
</nowiki>
  
 +
作为一个侧边备注,它看起来像我们可以使用@api.model装饰器,因为此方法不能操作self的记录集。但我们在这种情况下不能从一个按钮调用方法。
  
作为一个侧边备注,它看起来像我们可以使用@api.model装饰,因为此方法不能操作self的记录集。但我们不能在这种情况下,从一个按钮调用方法。
+
上一节:[[记录]]  下一节:[[向导中的助手操作]]

2017年12月26日 (二) 08:37的最新版本

当有什么不对时,我们会想要中断程序并显示错误消息。这是通过抛出异常来完成。Odoo 提供可用在 Python 中的几个额外的异常类。这些都是最有用的例子︰

from odoo import exceptions 
 raise exceptions.Warning('Warning message')
 raise exceptions.ValidationError('Not valid message')
 

Warning消息也会中断执行,但听起来不像ValidationError那么严重。虽然它不是友好的用户界面,我们利用这一点对Count按钮来向用户显示一条消息︰

@api.multi 
def do_count_tasks(self):     
    Task = self.env['todo.task'] 
    count = Task.search_count([('is done', '=', False)])     
    raise exceptions.Warning('There are %d active tasks.' %count)
 

作为一个侧边备注,它看起来像我们可以使用@api.model装饰器,因为此方法不能操作self的记录集。但我们在这种情况下不能从一个按钮调用方法。

上一节:记录 下一节:向导中的助手操作