由於資料庫中儲存的是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單時區應用中的時區問題
由於資料庫中儲存的是utc時區,預設情況下資料匯出和group by都存在時區問題。徹底解決辦法 將以utc時區儲存的資料改為按目標時區儲存,並去掉js中的時區轉換。1 修改odoo系統環境時區 odoo openerp init py 檔案 import os os.environ tz utc ...
Odoo8 0時區問題解決辦法
由於資料庫中儲存的是utc時區,預設情況下資料匯出和group by都存在時區問題。徹底解決辦法 將以utc時區儲存的資料改為按目標時區儲存,並去掉js中的時區轉換。1 修改odoo系統環境時區 odoo openerp init py 檔案 import os os.environ tz utc ...
odoo8 0下selection add的使用
在odoo中有selection型別的字段,用於限定欄位的值在某些範圍之內,在view上面顯示此字段時,會顯示乙個下拉的列表。如果是自己新定義的字段,這個列表的內容可以自己定義,但如果是繼承自某個物件的模組,我們要在原來的基礎上增加新的值該怎麼辦法?8.0提供了乙個簡單的新方法,可以對繼承的字段增加...