将天数添加到日期时间并将其转换为日期? - Odoo V14
Add days to a datetime and convert it to a date ? - Odoo V14
我想将 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()
提前致谢!
这个有用吗?:
from odoo import models, fields, api
from datetime import datetime, date, timedelta
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 = ( date.today() + timedelta(30))
date_deadline = date_end
它给出了当前日期 + 30 天。
它不会去除 datetime 变量,因此您可能想在之后去除。
create_date
是一个magic field set in _create method. To use the creation date as a default value for the date_deadline
field, you can use the default attribute and use the Date.today获取创建日期的函数。
示例:
date_deadline = fields.Datetime(default=lambda record: fields.Date.today() + relativedelta(days=30))
我想将 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()
提前致谢!
这个有用吗?:
from odoo import models, fields, api
from datetime import datetime, date, timedelta
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 = ( date.today() + timedelta(30))
date_deadline = date_end
它给出了当前日期 + 30 天。
它不会去除 datetime 变量,因此您可能想在之后去除。
create_date
是一个magic field set in _create method. To use the creation date as a default value for the date_deadline
field, you can use the default attribute and use the Date.today获取创建日期的函数。
示例:
date_deadline = fields.Datetime(default=lambda record: fields.Date.today() + relativedelta(days=30))