徹底解決Odoo8 0單時區應用中的時區問題

2022-08-20 02:30:14 字數 811 閱讀 4278

由於資料庫中儲存的是utc時區,預設情況下資料匯出和group by都存在時區問題。

徹底解決辦法:將以utc時區儲存的資料改為按目標時區儲存,並去掉js中的時區轉換

1、修改odoo系統環境時區:

odoo/openerp/__init__.py 檔案

import os

os.environ['tz'] = 'utc' # 將這裡的utc 改為asia/shanghai 或其它目標時區

2、修改 web頁面時區轉換的js檔案:

odoo/addons/web/static/src/js/openerpframework.js 中的兩個方法

openerp.str_to_datetime  字串轉時間

openerp.datetime_to_str  時間轉字串

去掉這兩個方法中的utc字元。

3、修改以utc時間執行的sql 查詢或插入語句:

去掉所有帶 "at time zone 'utc'" 或 "at time zone 'utc'"字串的語句。

odoo/openerp/models.py 特別是create_date、write_date字段值;

odoo/openerp/addons/base/ir/ir_cron.py  定時任務中utc時區改為當前時區;

odoo/openerp/netsvc.py  備份下來的資料庫名稱時間標誌

4、修改其他功能性模組中帶 "at time zone" 字串來取utc時間的語句。

如 calendar 模組和 hr_timesheet_sheet模組

odoo8 0下selection add的使用

在odoo中有selection型別的字段,用於限定欄位的值在某些範圍之內,在view上面顯示此字段時,會顯示乙個下拉的列表。如果是自己新定義的字段,這個列表的內容可以自己定義,但如果是繼承自某個物件的模組,我們要在原來的基礎上增加新的值該怎麼辦法?8.0提供了乙個簡單的新方法,可以對繼承的字段增加...

odoo8 0載入靜態css,js問題

在odoo8.0中,對於css,js靜態檔案的載入方法有所改變,之前在7.0中只要建立static資料夾就可以自動載入,現在需要通過如下步驟處理 1.在模組資料夾中建立乙個views目錄 2.建立乙個檔案 you module name.xml 3.在 openerp.py 檔案增加 data vi...

Odoo8 0中使用多程序

因為使用者業務量增加,在使用odoo時開始有出現效能問題,暫時還沒有進行其它方面的效能診斷和調優,先了解一下odoo的處理機制,根據網上的說明,odoo有乙個workers的引數來開啟多程序作業模式,查網上說開了多程序以後,系統的cron job會停止啟動,這樣子也會影響一些自動化任務處理。後來找谷...