2010-06-18 2 views
7

Возможно ли иметь DateField без года? Или мне придется использовать CharField? Я использую администратора для редактирования моделей.Django DateField без года

ответ

1

A DateField - это целая дата. Если вас беспокоит только месяц и день, используйте __month и __day при запросе.

+0

так, если я хотел, чтобы извлечь QuerySet всех дат после сегодняшнего дня это будет что-то вроде: today = datetime.date.today() Object.object.filter(date__day=today).exclude() ? Спасибо – Ali

1

Вам нужно решить, согласны ли вы с обычным объектом даты на модели (и БД) и просто настройте виджеты формы или хотите, чтобы хранилище данных имело конкретные данные.

Если вы хотите, чтобы формы отображались день и месяц, вам нужно написать собственный виджет и подключить его к форме в классе ModelAdmin. Документация Django имеет довольно хорошее представление о написании custom fields и custom widgets

В обоих случаях намного легче подклассифицировать существующую модель/виджет и изменить поведение, которое вы хотите.

0

Это работает для меня:

data_sorted = sorted(My_Model.objects.all(), key=lambda e: e.myDataField.strftime("%m-%d")) 
Смежные вопросы