Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
3 Ответы
11897 Представления

I used this code for the data in the selection


    def _get_years(self):

        this_year = datetime.today().year


        results = [(str(x), str(x)) for x in range(this_year - 40, this_year + 1)]

        return results


year_selection = fields.Selection(_get_years, string="Select Year", default=current_year)

Аватар
Отменить
Лучший ответ

Just write following code and call this method into selection field like :

  def _get_years(self):

        this_year = datetime.today().year

        results = sorted([(str(x), str(x)) for x in range(this_year - 40, this_year + 1)],reverse = True)

        return results

year_selection : fields.Selection(_get_years,string="select year)

Аватар
Отменить
Автор

Thank you! It worked.

Лучший ответ

Hi Dee Yoj,

Try This Code 

from datetime import datetime
from odoo import fields, models, api


class YourClass(models.Model):
_inherit = 'your.model'

this_year = datetime.today().year
range_of_years = range(this_year - 40, this_year + 1)
descending_range = sorted(range_of_years, reverse=True)
_get_years = [(str(x), str(x)) for x in descending_range]
year_selection = fields.Selection(_get_years, string="Select Year")


 Thank you.

Аватар
Отменить
Автор

It worked! thank you so much.

Related Posts Ответы Просмотры Активность
4
дек. 23
22425
5
июл. 24
15768
1
июн. 22
27289
9
мая 22
53573
0
июл. 20
3061