2017-10-11 55 views

回答

1

我發現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) 
+0

其實不是這樣做的正確方法。我會發佈一個答案如何做到這一點,爲什麼這樣做。 – CZoellner

+0

好吧,我一直在等待你的回答大聲笑 – Naveen

+0

它正好在你的回答之上 – CZoellner

2

Odoo Date field class提供獲取像今天的默認值的方法。

對於日期,該方法稱爲context_today(),日期時間爲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) 

還是拉姆達版本:

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