開發中經常有這樣的場景,需要給某個日期或者時間型別的字段預設值;
總結一下,實現方式,大概有3種寫法:
(1)odoo自帶模型字段:"fields."
可以在odoo模型定義中進行設定,如下樣例提供參考:
test_data = fields.date(string=u"日期", default=fields.date.today) # 日期,預設今天寫法test_time = fields.datetime(string=u"時間", default=fields.datetime.now) #預設值為:系統當前時間
(2) 利用python自帶時間模組
---這裡注意一下,可能有個小坑,預設時間盡量用第一種方式,如果調python的模組包賦值,而odoo程式又執行在docker容器中,那麼這種情況下介面上生成的時間,會有一定時差,重啟容器可以解決。
from datetime import datetime
test_time = fields.datetime(string=u"當前時間", default=datetime.now()) #預設值為:系統當前時間
(3)自己構造個方法:用到odoo api.model
定義內部方法:_get_now_time,方法內呼叫python時間模組給到字段值,然後定義欄位的時候,default=_get_now_time
注意,**先後順序,先定義方法,再寫字段呼叫方法。
@api.modeldef_get_now_time(self):
test_time =datetime.now()
print('
******************* date_time_now ***********************')
(date_now)
return
date_now
test_time = fields.datetime(string=u'當前時間
', copy=false, track_visibility='
onchange',
default=_get_now_time)
ok, 小夥伴們,可以嘗試下。
odoo開發筆記 日期操作
日期格式化字串 日期格式化字串 date format y m d 日期時間格式字串 datetime format y m d h m s 日期時間格式字串 包含毫秒 datetime format y m d h m s.f odoo中賦值當前日期 odoo物件中欄位賦值為當前日期 字串 fie...
odoo8 開發筆記 日期操作
日期格式化字串 date format y m d 日期時間格式字串 datetime format y m d h m s 日期時間格式字串 包含毫秒 datetime format y m d h m s.f openerp物件中欄位賦值為當前日期 字串 fields.date.context ...
odoo開發筆記 當前時間 時間運算相關
from datetime import datetime timedelta now time datetime now today date format now time.strftime y m d 00 00 00 today time format now time.strftime y...