Django Queryset filter datetimefield using time interval
В одной модели у меня есть поле вида:
class Sample(models.Model):
created_at = models.DateTimeField(auto_now_add=True, blank=True)
вот как это выглядит при сохранении:
2022-12-13 13:00:29.84166+08
2022-12-13 14:00:29.84166+08
2022-12-13 15:00:29.84166+08
2022-12-14 13:00:29.84166+08
2022-12-14 14:00:29.84166+08
2022-12-14 15:00:29.84166+08
Возможно ли отфильтровать это по диапазону времени? Может быть, аналогично этому?
Sample.objects.filter(created_at __range=["13:00", "15:00"])
Я пробовал это, но ничего не получается
Sample.objects.filter(created_at__time__range=["13:00", "15:00"])
Я хочу получить все данные, которые ранжировались с "13:00", "15:00"
в разных датах
Вы можете попробовать следующее:
Sample.objects.filter(
created_at__time__gte='13:00', created_at__time__lte='15:00'
)
Думаю, лучше разделить это поле DateTime на DateField и TimeField (оба поддерживают параметры auto_now), так будет проще.