Ich habe eine Methode, in der self
eine einfache stock.move
Aufzeichnung ist. Außerdem, wie Sie vielleicht wissen, hat stock.move
Modell ein Feld mit dem Namen date
. Wenn ich diesen Code in das Verfahren schreibe:Warum Odoo Millisekunden in Datetime-Feldern entfernt?
lines = self.search([
('date', '=', self.date),
])
Es sollte mir zumindest die aktuelle Zeile zurückgeben. Und zwar, aber nur in einigen Servern. Andere geben nichts zurück. Warum? Denn wenn ich eine Abfrage, um die date
in PostgreSQL zu bekommen, die Server, die funktionieren OK sind, zurückgeben 2017-12-27 17:10:00, jedoch die Server, die falsch arbeiten zurück 2017-12-27 17: 10: 00.131112. Also, für die Fälle mit miliseconds der ORM search
Methode dies tut:
lines = self.search([
(2017-12-27 17:10:00.131112, '=', 2017-12-27 17:10:00),
])
self.date
wird die Datetime
Wert ohne die miliseconds Rückkehr und das ist, warum der Vergleich fehlschlägt. Ich muss die Millisekunden auch bekommen.
Wie kann ich das schaffen?
Eigentlich denke ich, dass '' create_date' und write_date' Felder miliseconds haben sollte. 'Datetime'-Felder sollten nicht enthalten sein, da die 'DEFAULT_SERVER_DATETIME_FORMAT'-Konstante verwendet wird. Also ich weiß nicht, was in Ihrem Fall passiert – ChesuCR