如何在openerp中创建引发错误的函数

如何在openerp中创建引发错误的函数,openerp,odoo,openerp-7,raiseerror,Openerp,Odoo,Openerp 7,Raiseerror,我想创建一个函数,当用户输入无效日期时会引发错误,因此如果我们输入当前日期之前的日期,它将显示错误,有什么想法吗 我的班级看起来像: class business_trip(orm.Model): _columns = {'start_trip': fields.datetime('Trip Starts on:',translate=True, required=False), 'start_business': fields.datetime('Business Starts

我想创建一个函数,当用户输入无效日期时会引发错误,因此如果我们输入当前日期之前的日期,它将显示错误,有什么想法吗

我的班级看起来像:

class business_trip(orm.Model):
_columns = {'start_trip': fields.datetime('Trip Starts on:',translate=True, required=False),
        'start_business': fields.datetime('Business Starts on:',translate=True, required=False),
        'end_business': fields.datetime('Business Ends on:',translate=True, required=False),
        'end_trip': fields.datetime('Trip Ends on:',translate=True, required=False),

您可以添加Python约束,如

@api.one
@api.constrains('start_trip', 'start_business', 'end_business', 'end_trip')
def _check_date(self):
    now = datetime.now().strftime(DEFAULT_SERVER_DATETIME_FORMAT)
    if self.start_trip and  now < self.start_trip:
        raise exceptions.ValidationError("Entered Date Should be greter then Today")
    elif self.start_business and now < self.start_business:
        raise exceptions.ValidationError("Entered Date Should be greter then Today")
    elif self.end_business and now < self.end_business:
        raise exceptions.ValidationError("Entered Date Should be greter then Today")
    elif self.end_trip and now < self.end_trip:
        raise exceptions.ValidationError("Entered Date Should be greter then Today")
@api.one
@api.constraints('start\u trip'、'start\u business'、'end\u business'、'end\u trip')
定义检查日期(自我):
now=datetime.now().strftime(默认\u服务器\u日期时间\u格式)
如果self.start\u跳闸且现在
谢谢大家,这就是我的解决方案:

  def _check_date(self,cr,uid,ids,context=None):

        record=self.browse(cr,uid,ids,context=None)
        for data in record:
            if data.start_trip >= data.start_business or data.start_trip >= data.end_business or data.start_trip >= data.end_trip or data.start_business >= data.end_business or data.start_business >= data.end_trip or data.end_business >= data.end_trip:
                return False
            else:
                return True

_constraints = [(_check_date, 'Error: You Entered Wrong Dates, Please Enter the Right Dates ',['start_trip', 'start_business', 'end_business', 'end_trip'])]