Python / Odoo:ValueError:时间数据'%Y-%m-%d'与格式'2020-10-09 00:00:0不匹配

问题描述

我是odoo的初学者,同时使用以下字段时出错:

ValueError:时间数据'%Y-%m-%d'与格式'2020-10-09不匹配 00:00:0

模型文件代码

class PartnerImportUpdate(models.TransientModel):
_name = "partner.import.update"

import_update = fields.Selection(selection=[('import','Import'),('update','Update')],string="Import Operations",default="import")
# date = fields.Datetime("Date",default=lambda self: fields.datetime.Now()) #commented
# date = fields.Date("Date",default=lambda *args: datetime.strftime('%Y-%m-%d %H:%M:%s')) #commented
date = fields.Date(string='Date',default=datetime.Now())
one_time_import = fields.Boolean(string='First Time Import',help="If you have large no. of customers on your woocommerce  site then enable this It will import product page by page",default = False)

从前端获得以下值:

front-end

(我真的是一个初学者,基本上我应该升级addon(多渠道站点)的版本)

解决方法

您的问题仅仅是因为您创建了日期字段并传递了日期和时间值。

要解决您的问题,只需将datetime.now()替换为date.today()。

重要!

您必须从datetime导入日期

from datetime import date

更多信息

为您提供信息,Odoo具有两种日期值

fields.Datetime()

fields.Date()

为帮助日期,Odoo创建了两个变量来简化日期和日期时间的格式。因为两个国家的日期和日期时间格式可能不同。

使用datetime.strftime处理日期时。从未使用过自己的格式,而是使用过DEFAULT_SERVER_DATETIME_FORMAT,DEFAULT_SERVER_DATE_FORMAT

from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT,DEFAULT_SERVER_DATE_FORMAT