#定义结束日期字段,结束日期由开始+持续,而设置结束日期,则需要自行计算出持续日期 end_date = fields.Date(string="End Date", store=True, compute='_get_end_date', inverse='_set_end_date') #"获取结束日期"事件的响应函数:计算出结束日期 @api.depends('start_date', 'duration') def _get_end_date(self): for r in self: if not (r.start_date and r.duration): r.end_date = r.start_date continue start = fields.Datetime.from_string(r.start_date) duration = timedelta(days=r.duration, seconds=-1) r.end_date = start + duration #"设置结束日期"事件的响应函数:计算并设置持续时间 def _set_end_date(self): for r in self: if not (r.start_date and r.end_date): continue start_date = fields.Datetime.from_string(r.start_date) end_date = fields.Datetime.from_string(r.end_date) r.duration = (end_date - start_date).days + 1
Odoo14中的逆计算inverse方法属性值用法——由compute字段的值逆向修改其依赖值
Odoo14inverse方法属性值用法
在 开发实施
登录 留下评论