Фильтр объектов запроса по диапазону дат в Django
Пытаюсь отфильтровать набор запросов по диапазону дат в Django. Если я выбираю период более одного дня, то все работает нормально, например: данные в таблице были созданы 06.07.2022 и я выбираю data start_date=06-07-2022, end_date=07.07.2022, результаты будут показаны.
Но если выбрать start_date=06.07.2022 и end_date=06.07.2022, то он выдает мне null.
start_date = datetime.datetime.fromisoformat(params.get('start_date'))
end_date = datetime.datetime.fromisoformat(params.get('end_date'))
if start_date and end_date:
if start_date > end_date:
raise ValidationError('Start date cannot be greater than end date')
queryset = queryset.filter(created__gte=start_date, created__lte=end_date)
Вы фильтруете для большего и меньшего, поэтому одинаковые даты не попадут в этот фильтр
if start_date and end_date:
if start_date > end_date:
raise ValidationError('Start date cannot be greater than end date')
queryset = queryset.filter(created__gte=start_date, created__lte=end_date)
if queryset == None:
queryset = queryset.filter(created=start_date).filter(created=end_date)