Odoo8字段年份选择,以今天的年份作为默认值。

huangapple go评论55阅读模式
英文:

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=&#39;Year&#39;, default=get_year)

and this is my .xml

&lt;field name=&quot;year&quot;&gt;

But I get this error

ValueError: Wrong value for wizard.report.purchase.tracking.year: &#39;2023&#39;

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=&#39;Year&#39;, default=str(datetime.now().year))

huangapple
  • 本文由 发表于 2023年2月16日 12:23:16
  • 转载请务必保留本文链接:https://go.coder-hub.com/75467846.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定