如何只接受 odoo 表单中的未来日期
how to accept only a future date in a form odoo
这是我试过的代码:
@api.onchange('date_pub')
def get_right_date(self):
if self.date_pub:
if datetime.strptime(self.date_pub, DEFAULT_SERVER_DATE_FORMAT).date() < datetime.now().date():
raise Warning(_( "impossible d'insérer une date passée"))
self.date_pub=datetime.now().date()
我收到错误消息 ("impossible d'insérer une date passée"),但是字段 date_pub 没有更新,用户选择的相同日期被插入到数据库中!
求助!!
为了限制在数据库中插入错误值你应该使用@api.constrains
喜欢:
@api.one
@api.constrains('date_pub')
def _check_date_pubd(self):
if self.date_pub:
if datetime.strptime(self.date_pub, DEFAULT_SERVER_DATE_FORMAT).date() < datetime.now().date():
raise ValidationError(_('impossible d'insérer une date passée.'))
下面的代码有助于仅允许未来和当前(今天)的日期
@api.onchange('start_dt')
def check_date(self):
selected_date = datetime.strptime(self.start_dt, "%Y-%m-%d").date()
today = datetime.now().date()
todaydate = datetime.strptime(str(today), "%Y-%m-%d").date()
if selected_date < todaydate:
raise Warning("CURRENT OR FUTURE DATE IS ONLY ACCEPTABLE")
这是我试过的代码:
@api.onchange('date_pub')
def get_right_date(self):
if self.date_pub:
if datetime.strptime(self.date_pub, DEFAULT_SERVER_DATE_FORMAT).date() < datetime.now().date():
raise Warning(_( "impossible d'insérer une date passée"))
self.date_pub=datetime.now().date()
我收到错误消息 ("impossible d'insérer une date passée"),但是字段 date_pub 没有更新,用户选择的相同日期被插入到数据库中!
求助!!
为了限制在数据库中插入错误值你应该使用@api.constrains 喜欢:
@api.one
@api.constrains('date_pub')
def _check_date_pubd(self):
if self.date_pub:
if datetime.strptime(self.date_pub, DEFAULT_SERVER_DATE_FORMAT).date() < datetime.now().date():
raise ValidationError(_('impossible d'insérer une date passée.'))
下面的代码有助于仅允许未来和当前(今天)的日期
@api.onchange('start_dt')
def check_date(self):
selected_date = datetime.strptime(self.start_dt, "%Y-%m-%d").date()
today = datetime.now().date()
todaydate = datetime.strptime(str(today), "%Y-%m-%d").date()
if selected_date < todaydate:
raise Warning("CURRENT OR FUTURE DATE IS ONLY ACCEPTABLE")