如何将Postgres Datetime字段设置为Odoo Datetime字段

Har*_*edi 12 python postgresql datetime odoo-10

我试图将Postgres数据库时间到日期时间字段的设置时间显示到Odoo中.

我创建的字段是设置时间.

last_modify_article = fields.Datetime("Last Modify Date")
Run Code Online (Sandbox Code Playgroud)

但我的DateTime:~2017-08-28T08:43:56 + 0200完美存储在Postgres数据库中,但在Odoo看到的不同.

所以,我的问题是如何在现场管理数据库日期时间.

这是Postgres时间

以下是以UTC为单位设置日期时间的Odoo字段

Hil*_* AK 5

实际上,数据库Datetime根据系统时区存储该字段。在Odoo中,如果设置了视图,将根据用户的时区自动转换视图。

在您的图像上,我可以看到时差id +5:30,即亚洲/加拉各答时区。因此,您在Datetime现场进行的自定义操作需要根据用户正确地转换时区。

Odoo视图和ORM方法tzmoment.js和一起处理pytz。实际上,这是在Odoo中管理不同时区的好功能。

您可以astimezoneDatetime对象上使用:

def astimezone(self, tz): # known case of datetime.datetime.astimezone
    """ tz -> convert to local time in new timezone tz """
    return datetime(1, 1, 1)
Run Code Online (Sandbox Code Playgroud)

要么

fields.Datetime.context_timestamp(self, datetime.strptime(value, DEFAULT_SERVER_DATETIME_FORMAT))
Run Code Online (Sandbox Code Playgroud)


tra*_*isw 4

Odoo 旨在将日期和时间以 UTC 形式存储在数据库中,并在前端将其转换为用户的时区。

您的用户设置了哪个时区?您可以单击右上角您的姓名,然后单击“首选项”。时区应显示在弹出表单上。