Python 如何将Postgres日期时间字段设置为Odoo日期时间字段

Python 如何将Postgres日期时间字段设置为Odoo日期时间字段,python,postgresql,datetime,odoo-10,Python,Postgresql,Datetime,Odoo 10,我试图在Odoo中显示Postgres数据库time to datetime字段的设置时间 我创建的字段是用来设置时间的 last_modify_article = fields.Datetime("Last Modify Date") 但我的日期时间:~2017-08-28T08:43:56+0200完全存储在Postgres数据库中,但在Odoo saw中的存储方式不同 因此,我的问题是如何在现场管理数据库日期时间 及 Odoo设计用于将日期和时间作为UTC存储在数据库中,并在前端将其转

我试图在Odoo中显示Postgres数据库time to datetime字段的设置时间

我创建的字段是用来设置时间的

last_modify_article = fields.Datetime("Last Modify Date")
但我的日期时间:~2017-08-28T08:43:56+0200完全存储在Postgres数据库中,但在Odoo saw中的存储方式不同

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


Odoo设计用于将日期和时间作为UTC存储在数据库中,并在前端将其转换为用户的时区


为您的用户设置了什么时区?您可以单击右上角的姓名,然后单击首选项。时区应显示在弹出窗体上

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

在您的图片上,我可以看到时差id+5:30,即亚洲/Kolakata时区。因此,您对
Datetime
字段的自定义操作需要根据用户对时区进行适当的转换

Odoo视图和ORM方法通过
tz
moment.js
pytz
转换处理。这实际上是管理Odoo中不同时区的一个很好的特性

您可以在
Datetime
对象上使用
astimezone

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


是的,您对Odoo的权限设置为UTC,但我的时间在数据库中是正确的,因此我如何在字段中打印相同的时间。我在另一个国家工作,所以我不能将时区分配到我的首选项中。如果我指定时区,它与浏览器不匹配。这样,我就可以在字段中打印与数据库值相同的内容value@HarshitTrivedi您是在数据库(或Python)中手动设置时间,还是从Odoo前端设置时间?实际上,我正在使用API,以便获取API并设置DateTime字段
fields.Datetime.context_timestamp(self, datetime.strptime(value, DEFAULT_SERVER_DATETIME_FORMAT))