Odoo 表单视图中字段的默认值设置为当前日期时间

Default value for field set to current datetime in form view in Odoo

我有一个字段 last_update,当用户在表单视图中编辑表单时,我想在其中存储当前日期时间。基本上我需要将 last_update 的值默认为系统日期。

我尝试使用:

<field name="last_update" default_last_update="datetime.now()"/>

但是,它不起作用。

在 python 文件中:

from datetime import datetime

last_update = fields.Datetime(string='Last Update',default=lambda self: fields.datetime.now())

你也可以使用这个:

from datetime import datetime

    last_update = fields.Date(string='Last Update',default=datetime.now())

在每个模型中,您总是会有"write_date",它存储最后一次记录更新时间。

仍然如果你想添加这个字段并在每次记录更新时更新它那么你可以在记录创建时设置默认值并继承 write() 方法以在每次记录更新时更新,将该字段中的当前时间设置为以下 :

last_update = fields.Datetime(string='Last Update',default=fields.Datetime.now)

@api.multi
def write(self, vals):
    vals.update({'last_update':fields.Datetime.now})
    return super(<your_class_name>, self).write(vals)