英文:
odoo8 Field year selection with today year as default
问题
我想创建一个年份选择,其中默认年份是当前年份。
这是我的.py文件:
def get_years():
year_list = []
for i in range(2022, 2036):
year_list.append((i, str(i)))
return year_list
def get_year(self):
return str(datetime.now().year)
year = fields.Selection(get_years(), string='年份', default=get_year)
这是我的.xml文件:
<field name="year">
但是我得到了这个错误:
ValueError: wizard.report.purchase.tracking.year的值错误:'2023'
我应该怎么做?感谢您的帮助
英文:
I want to make a year selection where the default year is now.<br>
This is my .py
def get_years():
year_list = []
for i in range(2022, 2036):
year_list.append((i, str(i)))
return year_list
def get_year(self):
return str(datetime.now().year)
year = fields.Selection(get_years(), string='Year', default=get_year)
and this is my .xml
<field name="year">
But I get this error
ValueError: Wrong value for wizard.report.purchase.tracking.year: '2023'
What should I do? <br>Thank you for your help
答案1
得分: 0
你需要设置选择字段的字符串类型键和键值对。
def get_years():
year_list = []
for i in range(2022, 2036):
year_list.append((str(i), str(i)))
return year_list
也可以直接在选择字段上设置默认值。
year = fields.Selection(get_years(), string='年份', default=str(datetime.now().year))
英文:
You have to set the string type key and pair value of touple for the selection field.
def get_years():
year_list = []
for i in range(2022, 2036):
year_list.append((str(i), str(i)))
return year_list
also You can set default value directly at selection.
year = fields.Selection(get_years(), string='Year', default=str(datetime.now().year))
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论