2017-09-08 3 views
0

私は選択フィールドとこの機能を動的にフィールド内のリスト項目に対して持っています。保存エラー後の選択フィールド

def get_years(self): 
     year_list = [] 
     year = date.today().year+1 
     lastyear = date.today().year - 20 
     for i in range(int(lastyear),int(year)): 
      year_list.append((i, str(i))) 
     return year_list 

これは、

year = fields.Selection(get_years, string='Yıl', default=get_current_year, restore="True") 

フィールドであると私は、フォームを保存するとき、このフィールドは、未知なります。私は問題が何かを知ったが、私は解決策を知らない。問題は計算関数です。[(1997,1997)、(2016,2016)、(2017,2017)]のような項目を書くと動いていますが、ハードコードを書いてはいけません。どうすればこの問題を解決できますか?ありがとうございました。

答えて

1

解決策が見つかりました。新しい方法を作成する必要はなく、次のように使用できます。

year = fields.Selection([(num, str(num)) for num in range(1900, (datetime.now().year)+1)],string='Year', default=datetime.now().year) 

ありがとうございます。

関連する問題