Odoo域中日期时间字段的奇怪行为

时间:2018-04-07 03:07:09

标签: python odoo

我正在使用saas-14。我的数据库包含purchase.order.line id = 98create_date = 2018-04-07 01:04:32。此对象的创建日期是系统中任何purchase.order.line的最新创建日期。换句话说,系统中没有其他purchase.order.line个对象create_date > 2018-04-07 01:04:32

我在purchase.order.line的服务器操作中有以下代码:

raise Warning(env['purchase.order.line'].search([('create_date', '>', record.create_date)]).id)

当我针对现有purchase.order.line(98,)触发此操作时,结果为98。换句话说,系统似乎认为2018-04-07 01:04:32 > 2018-04-07 01:04:32。这显然没有任何意义。

我希望行动返回false。为什么会这样?

1 个答案:

答案 0 :(得分:0)

这是因为odoo处理日期时间和时区的方式。在引擎盖下odoo转换你的价值。

您需要确保时区正确。 odoo最有可能将您的值转换为UTC,这样您就得到了错误的值。使用域中的datetime字段进行驱动时要小心。