• 周六. 7 月 27th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

Odoo14学习笔记(5) 通过onchange机制自动计算“工龄”

admin

11 月 28, 2021

第一步:引用日期处理方法:

from datetime import datetime
from dateutil.relativedelta import relativedelta

第二步:添加onchange方法:

@api.onchange("workDate")
def _onchange_work_date(self):
  for rec in self:
    if rec.workDate:
      rec.workAge = relativedelta(dt1=datetime.today(), dt2=rec.workDate).years + 1

注:多字段时onchange中逗号分隔即可,如 :

@api.onchange("columnName1","columnName2", "columnName3", ...)
def _onchange_work_date(self):
  for rec in self:
    if rec.workDate:
      rec.workAge = relativedelta(dt1=datetime.today(), dt2=rec.workDate).years + 1

 如果需要提示信息,如:

@api.onchange("workDate")
def _onchange_work_date(self):
  for rec in self:
    if rec.workDate:
      rec.workAge = relativedelta(dt1=datetime.today(), dt2=rec.workDate).years + 1

      return {
        'warning':{
        'title': u'错误信息标题',
        'message': u'错误详情'
       }
      }

发表回复