2016-08-30 1 views
1

Ich habe ein Feld datetime. Dieses Feld sollte standardmäßig die Datetime von "now", die aktuelle Uhrzeit haben.OpenERP/Odoo: fields.datetime.now() zeigt das Datum des letzten Neustarts

Das Standarddatum ist jedoch die Zeit von der letzte Neustart.

Hier finden Sie meinen Code:

'date_action': fields.datetime('Date current action', required=False, readonly=False, select=True), 

_defaults = { 
    'date_action': fields.datetime.now(), 
+0

Können Sie uns einige Beispiele nennen? Ich sehe keinen Fehler in Ihrem Code-Snippet – CZoellner

+0

Für Beispiel, wenn ich heute um 16:36:30 mein ERP neu starte, wird das Standarddatum immer 30/08/2016 16:36:30 sein. Also morgen ist das Standarddatum immer noch 30/08/2016 16:36:30 statt der neuen aktuellen Zeit. – Selverine

Antwort

4

Sie den Standardwert von date_action Einstellung als der Wert von fields.datetime.now() zurückgegeben, das ausgeführt wird, wenn odoo Server gestartet wird.

Sie sollten den Standardwert als der Aufruf der Methode festgelegt:

'date_action': fields.datetime.now, 
+0

Es funktioniert gut! Vielen Dank – Selverine

1

Versuch lambda Zum Beispiel in Odoo 8 zu verwenden:

date_action = fields.Datetime(string="Date current action", default=lambda *a: datetime.now()) 
Verwandte Themen