我不想添加到计划日期整数。它总是从 1 到 10,但我的代码有问题。
planned_date = fields.Date(string='Planned Date', required=False,
default=fields.Date.today)
def linedate(self):
if line.discount > 5:
daysz = line.product_id.seller_ids[0].delay # it's integer from 1 to 10 always
planned = (line.planned_date + timedelta(days=daysz) ).strftime('%Y-%m-%d')
line.planned_date = planned
print line.planned_date
我遇到了这种错误
planned = (line.planned_date + timedelta(days=daysz) ).strftime('%Y-%m-%d')
TypeError: coercing to Unicode: need string or buffer, datetime.timedelta found
请您参考如下方法:
line.planned_date 是一个 Unicode 字符串对象。您需要将其转换为日期时间对象,然后使用 timedelta 添加。
例如:
import datetime
planned = (datetime.datetime.strptime(line.planned_date, '%Y-%m-%d') + datetime.timedelta(days=daysz) ).strftime('%Y-%m-%d')
