2016-08-30 2 views
1

私はフィールドdatetimeを持っています。このフィールドは、デフォルトでは現在の時刻である "now"の日時を持つ必要があります。OpenERP/Odoo:fields.datetime.now()は、最新の再起動日を表示します。

ただし、デフォルトの日付は、の最後の再起動の時刻です。

私のコードの下に見つけてください:

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

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

あなたは私たちにいくつかの例を与えることはできますか? – CZoellner

+0

ERPを今日16:36:30に再起動すると、デフォルトの日付は常に30/08/2016 16:36:30になります。したがって、明日のデフォルトの日付は、新しい現在の時刻ではなく、まだ30/08/2016 16:36:30になります。 – Selverine

答えて

4

あなたはodooサーバーの起動時に実行されるfields.datetime.now()によって返された値としてdate_actionのデフォルト値を設定しています。

あなたがメソッドの呼び出しとしてデフォルト値を設定する必要があります。

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

正常に動作しています!ありがとうございました – Selverine

1

はOdoo 8に例えばlambda を使用しよう:

date_action = fields.Datetime(string="Date current action", default=lambda *a: datetime.now()) 
関連する問題