2017-09-08 2 views
0

Ich habe ein Auswahlfeld und diese Funktion für Listenelemente im Feld dynamisch.Odoo 10 Auswahlfeld nach Speichern Fehler

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 

das ist das Feld,

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

und wenn ich das Formular speichern, ist dieses Feld nicht bekannt geworden. Ich habe herausgefunden, was das Problem ist, aber ich kenne die Lösung nicht. Problem ist compute Funktion, wenn ich Artikel schreibe wie [(1997,1997), (2016,2016), (2017,2017)] es funktioniert, aber ich möchte nicht hart Code schreiben. Wie kann ich dieses Problem lösen? Vielen Dank.

Antwort

1

Ich fand die Lösung, ich brauche keine neue Methode zu erstellen und kann wie verwenden;

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

Danke.