在“project.project”模型中,我编写了一个函数来验证“开始日期”和“结束日期”,为此我使用了 onchange 函数。该函数正在运行并发出警告,但正在创建记录。实际上,如果有任何错误,则表示无法保存记录,因为我使用的是 @api.constrains 下面是我的代码。
py.代码:
@api.onchange('date','date_start')
@api.constrains('date','date_start')
def cheking_field_date(self):
self.t1 = self.date_start
self.t2 = self.date
if self.t2 == False:
pass
else:
if str(self.t1) > str(self.t2):
raise Warning('The Deadline Date is Invalid')
else:
pass
Run Code Online (Sandbox Code Playgroud)
但是当我编辑记录时,如果日期字段中的任何更改意味着一切都很好(即“开始日期”和“结束日期”中的验证问题)。当时记录没有保存。为什么会出现这种类型的问题任何人请帮助我。
您需要注意以下几点:
尝试使用以下代码。
@api.one
@api.constrains('date','date_start')
def cheking_field_date(self):
if self.date_start and self.date:
if self.date_start > self.date:
raise Warning('The Deadline Date is Invalid')
Run Code Online (Sandbox Code Playgroud)