デフォルトで現在の日時と現在の日時+ 1時間を取得する方法は?私は例の下に使用した日付のodooで現在の日時を取得9
:
defaults = {
'start': fields.Date.today(),
'finish': fields.Date.today(),
}
デフォルトで現在の日時と現在の日時+ 1時間を取得する方法は?私は例の下に使用した日付のodooで現在の日時を取得9
:
defaults = {
'start': fields.Date.today(),
'finish': fields.Date.today(),
}
次のコードで試してみてください。日時データ型として仕上げ
from datetime import datetime, timedelta
defaults = {
'start': datetime.now(),
'finish': datetime.now() + timedelta(hours=1),
}
そして、あなたのフィールド宣言が開始されます、 。
と私はあなたがOdoo-9タグを付けているため、あなたが使用することをお勧めします「新しい」APIのためのソリューション、次odooに新しいAPIの
from datetime import datetime, timedelta
from openerp import models, fields, api
# from odoo import models, fields, api # for Odoo 10+
class MyClass(models.Model):
_name = "my.class"
start = fields.Date(string="Start", default="_default_start")
finish = fields.Date(string="Finish", default="_default_finish")
@api.model
def _default_start(self):
return fields.Date.context_today(self)
@api.model
def _default_finish(self):
finish = datetime.now() + timedelta(hours=1)
return fields.Date.context_today(self, timestamp=finish)
の分野でdefault
オプションがあります、あなたは2
start = fields.Datetime('Date', default=fields.Datetime.now,)
finish = fields.Datetime('Date', default='_get_finish_date',)
from datetime import datetime , timedelta
@api.one
def _get_finish_date(self):
return datetime.now() + timedelta(hours=1)
あなたは、これが解決策である理由を説明することができ、デフォルトのオプションを設定するには、機能を作成することができますか?コードのみの回答は、ほとんど問題解決のための洞察を提供するのに非常に役立ちません。 – Martin
@Martinあなたが知りたいことは何ですか – m3asmi