Django фильтр на поле Datetmefield
У меня есть модель, как показано ниже:
class example(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=64)
start_time = models.DateTimeField()
end_time = models.DateTimeField()
У меня есть следующий запрос:
a = example.objects.filter(
name='John',
start_time__gte=datetime.datetime.strptime('2022-07-26 2019:30:00','%Y-%m-%d %H:%M:%S')
end_time__lte=datetime.datetime.strptime('2022-07-26 2019:35:00','%Y-%m-%d %H:%M:%S'))
Для каждой минуты у меня есть запись, поэтому для верхнего примера я должен дать пять записей, но ничего не происходит.
Строка времени даты имеет неправильный формат. %H
из datetime.datetime.strptime
не должно быть больше 23 ( документация).
Это работает, если вы предоставите правильную строку времени даты, например:
a = example.objects.filter(
name='John',
start_time__gte=datetime.datetime.strptime('2022-07-26 19:30:00','%Y-%m-%d %H:%M:%S')
end_time__lte=datetime.datetime.strptime('2022-07-26 19:35:00','%Y-%m-%d %H:%M:%S'))