2015-11-05 17 views
0

В моей модели у меня есть TIMEFIELD:Джанго фильтр на TIMEFIELD

time = models.TimeField(db_index=True) 

Теперь у меня есть фильтр по этому значению: , например, мне нужно сделать что-то вроде: time == "12:30"

**** EDIT *****

мне нужно также, чтобы сделать что-то вроде: время находится в диапазоне: from 12:15 to 12:15

Как я могу сделать это?

ответ

0

Вы можете сделать что-то вроде этого:

YourModel.objects.filter(time__contains='16:23') 

Если вы используете вместо этого:

YourModel.objects.filter(time='16:23') 

Вы никогда не найдете его, так как TimeField объекты сохранить включая миллисекунды: datetime.time(16, 23, 23, 952151)

Редактировать:

Хорошо, если у вас есть строки, которые вы можете сделать что-то вроде этого:

begin = datetime.datetime.strptime('12:14', '%H:%M').time() 
end = datetime.datetime.strptime('12:16', '%H:%M').time() 
result = YourModel.objects.filter(time__range=(begin, end)) 
+0

смотрите мой пост edit.Tnx – Safari

+0

@Safari это то, что вам нужно? Это не проверено, но я уверен, что он может работать –

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