2015-02-10 5 views
1

Я пытаюсь отфильтровать запрос, установленный между двумя датами. вот мой views.pyDjango: фильтр datetime в дате в диапазоне дат

week = (startDate, endDate) 
Student.objects.filter(created__range=week) 
  • STARTDATE и ENDDATE является дата объектов

  • создал мой DateTime поле

, но я хочу фильтровать только дату

Я хотел бы точно указать месяц, день, год, а не время.

ожидается выход фильтра QuerySet между StartDate и EndDate

+0

дубликат: http://stackoverflow.com/questions/4668619/django-database-query-how-to-filter-objects-by-date-range –

+0

@ warath кодировщик Неа. Объектами в диапазоне являются даты, но поле поиска - это дата-время. Таким образом, простая '__range' вырезает все данные в' endDate' ('2015-02-10' меньше, чем' 2015-02-10 00: 00: 01') – catavaran

+0

, если вы перейдете по этой ссылке, все возможные решения там, так что да, это все еще дубликат. –

ответ

3

Заменить __range поиск с __gte/__lt комбинации.

Student.objects.filter(created__gte=startDate, 
         created__lt=endDate + datetime.timedelta(days=1)) 
Смежные вопросы