我只是一個學生,正在積累在Odoo中編碼的經驗。我想把一個月的最后一天,當前的月份和年份作為我的日期欄位的默認值。 我不知道Odoo需要什么格式。這很重要。對不起,我的英語不好,而且沒有必要的細節,否則我不能發表這個帖子
。我得到這個錯誤:
Error:
Odoo服務器錯誤
回溯(最近一次呼叫)。
檔案 "/usr/lib/python3/dist-packages/odoo/http.py", line 624, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
檔案 "/usr/lib/python3/dist-packages/odoo/http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2] )
檔案 "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", 行 14, in reraise
raise值
檔案 "/usr/lib/python3/dist-packages/odoo/http.py", line 669, in dispatch
結果 = self._call_function(**self.params)
檔案 "/usr/lib/python3/dist-packages/odoo/http.py", line 350, in _call_function
return checked_call(self.db, *args, **kwargs)
檔案 "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
檔案 "/usr/lib/python3/dist-packages/odoo/http.py", line 339, in checked_call
result = self.endpoint(*a, **kw)
檔案 "/usr/lib/python3/dist-packages/odoo/http.py", line 915, in __call__
return self.method(*args, **kw)
檔案 "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap
回應 = f(*args, **kw)
檔案 "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1327, in call_kw
return self._call_kw(model, method, args, kwargs)
檔案 "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", 行 1319, 在 _call_kw
return call_kw(request.env[model], method, args, kwargs)
檔案 "/usr/lib/python3/dist-packages/odoo/api.py", line 385, in call_kw
result = _call_kw_model_create(method, model, args, kwargs)
檔案 "/usr/lib/python3/dist-packages/odoo/api.py", line 365, in _call_kw_model_create
結果 = method(recs, *args, **kwargs)
檔案 "<decorator-gen-153>", 行 2, in create
檔案 "/usr/lib/python3/dist-packages/odoo/api.py", line 314, in _model_create_single
return create(self, arg)
檔案 "/usr/lib/python3/dist-packages/odoo/addons/hr_timesheet/models/project.py", line 53, in create
return super(Project, self).create(values)
檔案 "<decorator-gen-149>", line 2, in create
檔案 "/usr/lib/python3/dist-packages/odoo/api.py", line 314, in _model_create_single
return create(self, arg)
檔案 "/usr/lib/python3/dist-packages/odoo/addons/project/models/project.py", 行 318, in create
project = super(Project, self).create(vals)
檔案 "<decorator-gen-103>", line 2, in create
檔案 "/usr/lib/python3/dist-packages/odoo/api.py", line 314, in _model_create_single
return create(self, arg)
檔案 "/usr/lib/python3/dist-packages/odoo/addons/mail/models/mail_alias.py", 行 219, in create
record = super(AliasMixin, self.with_context(
檔案 "<decorator-gen-109>", 行 2, in create
檔案 "/usr/lib/python3/dist-packages/odoo/api.py", line 335, in _model_create_multi
return create(self, [arg])
檔案 "/usr/lib/python3/dist-packages/odoo/addons/mail/models/mail_thread.py", 行 269, in create
threads = super(MailThread, self).create(vals_list)
檔案 "<decorator-gen-3>", line 2, in create
檔案 "/usr/lib/python3/dist-packages/odoo/api.py", line 336, in _model_create_multi
return create(self, arg)
檔案 "/usr/lib/python3/dist-packages/odoo/models.py", line 3754, in create
vals = self._add_missing_default_values(vals)
檔案 "/usr/lib/python3/dist-packages/odoo/models.py", line 1792, in _add_missing_default_values
defaults = self.default_get(list(missing_defaults) )
檔案 "/usr/lib/python3/dist-packages/odoo/models.py", line 1262, in default_get
value = field.convert_to_cache(value, self, validate=False)
檔案 "/usr/lib/python3/dist-packages/odoo/fields.py", line 1741, in convert_to_cache
return self.to_date(value)
檔案 "/usr/lib/python3/dist-packages/odoo/fields.py", line 1716, in to_date
return datetime.strptime(value, DATE_FORMAT).date()
檔案 "/usr/lib/python3.8/_strptime.py", 行 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
檔案 "/usr/lib/python3.8/_strptime.py", line 349, in _strptime
raise ValueError("時間資料%r不符合格式%r" %)
ValueError: 時間資料'_set_defau'不不匹配format '%Y-%m-%d'
這是我的代碼 :
from datetime import timedelta, datetime
from calendar import monthrange
class whatever(models.Model)。
end_date = fields.Date(
'End date', default='_set_default_date')
def _set_default_date(self)。
mdays = monthrange(year, month)[1]
return date(year, month, mdays)
uj5u.com熱心網友回復:
試試這個
from odoo.tools import date_utils
class whatever(models.Model)。
end_date = fields.Date( '結束日期', default=date_utils.end_of(fields.Date.today(), '月')
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/310891.html
標籤:
上一篇:查找某月最后一個事件的SQL查詢
