如何将当前日期分配给 odoo 10 中的日期字段

How to assign current date to a date field in odoo 10

如何在点击 odoo 中的日期字段之前显示当前日期?

我发现 it.It 很简单,只需将其写在您的 python 代码中,例如:

date = fields.Datetime(string="Date", default=lambda *a: datetime.now(),required=True)

像这样

date = fields.Datetime(string="Date current action", default=lambda *a: datetime.now())

像这样

date = fields.Date(default=fields.Date.today)

Odoo Date 字段 class 提供了获取默认值的方法。

对于日期,该方法被调用 context_today() and for datetimes context_timestamp()。您可以将时间戳传递给此方法以获取 today/now(没有时间戳)或将由登录用户时区形成的时间戳。

代码示例:

from odoo import fields, models


class MyModel(models.Model):
    _name = 'my.model'

    def _default_my_date(self):
        return fields.Date.context_today(self)

    my_date = fields.Date(string='My Date', default=_default_my_date)

或 lambda 版本:

    my_date = fields.Date(
        string='My Date', default=lambda s: fields.Date.context_today(s))