2014-12-04 2 views
0

Я хотел бы заполнить ModelMultipleChoiceField только год, но я не могу найти правильный способ сделать это!django заполнить ModelMultipleChoiceField с date__year

Для прямо сейчас вот что у меня есть!

class DataForm(forms.Form): 
    years = Servizi.objects.all().dates('data','year') 
    year = forms.ModelMultipleChoiceField(queryset=years) 

Если я могу объяснить лучше я хотел бы, чтобы это было:

_______ 
2010 
_______ 
2011 etc... 

вместо

_______ 
2010-01-01 
_________ 
2011-01-01 etc.. 

Есть простой способ ??

+0

Похоже, что у вас есть неправильные данные в модели Servizi для начала: вы, кажется, сохраняете даты, а не годы как целые числа. –

+0

Да в моей модели Я храню даты: data = models.DateField (default = timezone.now(). Date()) Так что нет способа получить год отсюда? Мне нужно преобразовать дату в целые элементы? – Rollback

ответ

0

Итак, я знаю, что он немного жестко закодирован, но прямо сейчас его единственный способ найти заполнить форму!

class DataForm(forms.Form): 

     years = Servizi.objects.all().dates('data','year') 

     asd = [] 
     for year in years: 
      asd.append((year.year,year.year)) 


     year = forms.ChoiceField(choices=asd) 

Надеюсь, что это поможет!

Смежные вопросы