如何区分self.message_post()和提高osv.except_osv()

时间:2013-10-21 05:58:04

标签: python eclipse openerp

我一直致力于开发OpenERP模块。我正在理解使用Python语言进行OpenERP开发的事情。我对如何在self.message_post()和提高osv.except_osv()之间有所区别感到困惑。有人能给我一点专门知识吗?

Hopes for suggestion
  Best wishes
  Thanks

1 个答案:

答案 0 :(得分:2)

self.message_post顾名思义,发布消息。 osv.except_osv是一个python异常,虽然是一个特殊的异常。

提升osv.except_osv会做一些事情:

  1. 中断当前处理(毕竟这是一个python异常)。
  2. 使OpenERP回滚当前数据库事务。
  3. 使OpenERP向用户显示一个对话框,而不是转储堆栈跟踪并向用户发出“发生错误的信息”消息。
  4. 提出它们的常用方法是......

    from openerp.osv import osv
    from openerp.tools.translate import _
    
    raise osv.except_osv(_('This is the error title'), _('This is the error message'))