在odoo中引发异常时将null字段设置为null

时间:2018-01-12 06:46:24

标签: python odoo-10

我已验证start_dateend_date。我需要在引发错误时设置null结束日期字段。这是我的代码:

@api.onchange('end_date')
def onchange_end_date(self, end_date, start_date):
    if (start_date and end_date) and (start_date < end_date):
        raise exceptions.except_orm(_('Warning!'),_('The start date must be less than to the end date.'))

3 个答案:

答案 0 :(得分:0)

在Odoo on-change方法中你不需要传递任何参数,系统会直接从自己的对象中获取它。

{{1}}

这可能会对你有帮助。

答案 1 :(得分:0)

你好你可以尝试这个我希望它可以帮助你

import ValidationError

    @api.onchange('end_date')

    def onchange_end_date(self):

        if (self.start_date and self.end_date) and (self.start_date < self.end_date):
            raise ValidationError(''The start date must be less than to the end date.'))

由于

答案 2 :(得分:0)

除了onchange,我们可以使用约束......它有助于在创建和编辑时以及在更改时验证某些内容。 这是我的代码,它工作正常

@api.multi
@api.constrains('start_date', 'start_date')
def _check_date(self):
    start_date = self.start_date
    end_date = self.end_date

    if (start_date and end_date) and (start_date > end_date):
        raise ValidationError(_('The start date must be less than to the end date. '))

谢谢