为什么Odoo会删除Datetime字段中的毫秒数?

问题描述 投票:3回答:1

我有一种方法,其中self是一个简单的stock.move记录。此外,正如您所知,stock.move模型有一个名为Datetimedate字段。如果我在方法中编写此代码:

lines = self.search([
    ('date', '=', self.date),
])

它应该至少返回当前行。它确实如此,但仅限于某些服务器。其他人什么都不回为什么?因为如果我在PostgreSQL中进行查询以获取date,那么正常工作的服务器将返回2017-12-27 17:10:00,但是,工作错误的服务器返回2017-12-27 17:10:00.131112 。因此,对于毫秒级的情况,ORM search方法正在执行此操作:

lines = self.search([
    (2017-12-27 17:10:00.131112, '=', 2017-12-27 17:10:00),
])

qazxsw poi在没有毫秒的情况下返回qazxsw poi值,这就是比较失败的原因。我也需要得到几毫秒。

我该怎么办呢?

python postgresql python-2.7 odoo-8 odoo
1个回答
1
投票

绝对正确,我在这里确认odoo Datetime不保留UTC时间戳,它以UTC格式存储日期时间。甚至自odoo 5.0以来我们一直在努力,直到约会。

在Odoo 11.0

self.date

是。 odoo create_date,write_date能够给你毫秒,可能对你有所帮助。但确定在Datetime,不允许这样做......

如果你需要真正基于毫秒的需求,附加字段添加到存储毫秒,而不是它的全部工作。

问题仍然存在于odoo Datetime id | create_date | write_date | date_expected -----+----------------------------+----------------------------+--------------------- 41 | 2017-12-21 13:06:06.927814 | 2017-12-21 13:06:06.927814 | 2017-12-21 13:01:30 7 | 2017-12-21 08:33:22.431197 | 2017-12-21 08:33:22.431197 | 2017-12-21 08:31:54 42 | 2017-12-21 13:07:03.659194 | 2017-12-21 13:07:03.659194 | 2017-12-21 13:06:54 2 | 2017-12-21 07:24:24.953689 | 2017-12-21 07:24:24.953689 | 2017-12-21 07:24:25 版本中。

***需要额外的小型定制

© www.soinside.com 2019 - 2024. All rights reserved.