问题描述
我想向日期时间字段添加 30 天,并使我的日期字段将此值作为默认值。
我试过了,但不起作用:/
from odoo import models,fields,api
from datetime import datetime
from dateutil.relativedelta import relativedelta
class crm_lead(models.Model):
_inherit = 'crm.lead'
date_deadline = fields.Datetime(string='Fermeture prévue')
@api.onchange('create_date')
def _onchange_enddate(self):
if self.create_date:
date_end = ( datetime.strptime(self.create_date,'%Y-%m-%d') + relativedelta(days =+ 30).strftime('%Y-%m-%d') )
self.date_deadline = date_end.date()
提前致谢!
解决方法
这行得通吗?:
import 'leaflet';
它给出当前日期 + 30 天。
它不会剥离 datetime 变量,因此您可能希望在之后执行此操作。
,create_date
是在 magic field 方法中设置的 _create。要将创建日期用作 date_deadline
字段的默认值,您可以使用 default 属性并使用 Date.today 函数获取创建日期。
示例:
date_deadline = fields.Datetime(default=lambda record: fields.Date.today() + relativedelta(days=30))