【问题标题】:Python/Odoo: ValueError: time data '%Y-%m-%d' does not match format '2020-10-09 00:00:0)'Python/Odoo:ValueError:时间数据“%Y-%m-%d”与格式“2020-10-09 00:00:0)”不匹配
【发布时间】:2020-10-09 07:47:14
【问题描述】:

我是 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)

从前端获取以下值:

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

【问题讨论】:

  • 设置默认值为fields.Date.context_today

标签: python python-3.x model odoo-13


【解决方案1】:

你的问题只是因为你创建了一个日期字段并传递了一个日期和时间值。

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

重要!

您必须从日期时间导入日期

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 2018-03-18
    相关资源
    最近更新 更多