Я знаю о по крайней мере одном крупномасштабном проекте ( КОРЕНЬ ), который рекламирует использование [powerpoint ссылка] , механизм, описанный в Рекурсивном, Делает Продуманными Вредный. Платформа превышает миллион строк кода и компиляций вполне энергично.
И, конечно, все великоватые проекты я работаю с тем , делают , используют рекурсивный, делают, мучительно не спешат компилировать.:: вздох::
См. Статью Документация Django
Она очень похожа на ответ JZ
ur_data_model.objects.filter(ur_date_field=datetime(2005, 7, 27)
YourModel.objects.filter(datetime_published__year='2008',
datetime_published__month='03',
datetime_published__day='27')
// редактировать после комментариев
YourModel.objects.filter(datetime_published=datetime(2008, 03, 27))
не работает, потому что он создает объект datetime со значениями времени, установленными на 0, поэтому время в базе данных не совпадает.
Model.objects.filter(datetime__year=2011, datetime__month=2, datetime__day=30)
В django.views.generic.date_based
такие поиски реализованы следующим образом:
{'date_time_field__range': (datetime.datetime.combine(date, datetime.time.min),
datetime.datetime.combine(date, datetime.time.max))}
В связи с тем, что он достаточно многословен, планируется усовершенствовать синтаксис с помощью оператора __date
. Проверьте "#9596 Сравнение поля DateTimeField с датой слишком сложно" для более подробной информации
Это дает те же результаты, что и использование __года, __месяца и __дня и, похоже, работает для меня:
YourModel.objects.filter(your_datetime_field__startswith=datetime.date(2009,8,22))
Хм .. Мое решение работает:
Mymodel.objects.filter(date_time_field__startswith=datetime.datetime(1986, 7, 28))