Получить месяцы из поля даты в django

Если у меня есть поле даты в модели django, как я могу получить все возможные значения месяцев из объектов модели? поэтому, если у меня есть объект1 с датой = 22.01.2013 и объект2 с датой = 23.05.2013, мне нужно получить список месяцев [01, 05] или [1, 5]


person user1931780    schedule 23.08.2013    source источник


Ответы (2)


Сделать это можно так:

months = [i.month for i in MyModel.objects.values_list('date', flat=True)]
person Aamir Adnan    schedule 23.08.2013
comment
Спасибо, это то, что мне нужно! - person user1931780; 23.08.2013

Привет, я думаю, что функция дат - это то, что вы ищете:

Пытаться:

month_list = Model.objects.dates('DateField', 'month')
person inferno    schedule 23.08.2013
comment
Это должно быть Model.objects.dates, и это вернет qs, которое оценивает список объектов даты python, а не номера месяцев. Но это лучший способ сделать это, чем принятый ответ, который менее эффективен и будет включать дубликаты. Конечно, легко получить номера месяцев из объектов даты. - person Peter DeGlopper; 23.08.2013
comment
О, спасибо, забудьте об атрибуте объектов. Отредактировано в ответе :) - person inferno; 24.08.2013