我有一种方法,其中self
是一个简单的stock.move
记录。此外,正如您所知,stock.move
模型有一个名为Datetime
的date
字段。如果我在方法中编写此代码:
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值,这就是比较失败的原因。我也需要得到几毫秒。
我该怎么办呢?
绝对正确,我在这里确认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
版本中。
***需要额外的小型定制