odoo開發筆記 日期or時間字段給定預設值

2022-03-29 05:24:28 字數 1135 閱讀 1696

開發中經常有這樣的場景,需要給某個日期或者時間型別的字段預設值;

總結一下,實現方式,大概有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.model

def_get_now_time(self):

test_time =datetime.now()

print('

******************* date_time_now ***********************')

print

(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...