在'project.project'模型中,我编写了一个函数来验证'开始日期'和'结束日期'这个我用过onchange函数。函数正在工作并发出警告但是记录正在创建。实际上如果有任何错误意味着记录无法保存,因为我使用@ api.constrains下面是我的代码。
py.code:
@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
但是当我编辑记录时,如果日期字段中的任何更改意味着一切都很好(即“开始日期”和“结束日期”中的验证问题)。那时记录没有保存。为什么这种类型的问题即将到来,任何人都可以帮助我。
答案 0 :(得分:4)
您需要注意以下几点:
尝试使用以下代码。
@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')