Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
4 Replies
7751 Tampilan

On our Windows Server Odoo instance I use date.today() to set the default of the date to, well, today. However, this morning we realized that the date was off, but the date of the server was correct. I restarted the server and the date in Windows did NOT change, however, the Odoo module default date did. What gives?

The line of code is as follow (no errors though)
'order_date': fields.date(string='Date', default=date.today())

Avatar
Buang
Jawaban Terbai

The solution is to not call the function:

my_field = fields.Date(default=fields.Date.today)
Avatar
Buang
Jawaban Terbai

date.today() returns a value, so the python interpreter thinks that you want set a constant to default value.
Use lambda function to avoid this:

default =  lambda self: fields.Date.today()

Avatar
Buang
Penulis Jawaban Terbai

Even on a linux machine this happens. Maybe it's the version I am using, but updating the custom app date.today() requires a restart everytime.

Avatar
Buang
Jawaban Terbai

Check your Timezone configuration on users

Avatar
Buang
Penulis

That wasn't it. Timezones via Odoo and Windows machine all match. Now the date is staying the same as my restart date. Maybe it has something to do with the module being instantiated on that date.

Post Terkait Replies Tampilan Aktivitas
8
Mei 23
61207
DateTime Python Diselesaikan
4
Feb 23
71551
1
Mei 16
3822
python in v9 Diselesaikan
1
Nov 15
5885
2
Apr 23
23239