Фильтрация QuerySet по датам
Я пытаюсь отфильтровать QuerySet таким образом, чтобы date.today() находилась внутри диапазона, между значениями полей БД start_date и end_date.
Подскажите, пожалуйста, как это сделать?
models.py
class Group(models.Model):
id_group = models.AutoField(primary_key=True,)
name_group = models.CharField(max_length=256,)
start_date = models.DateField(auto_now=False, blank=True, null=True,)
end_date = models.DateField(auto_now=False, blank=True, null=True,)
def __str__(self):
return self.name_group
class Meta:
db_table = 'Group'
verbose_name = 'Группа работ'
verbose_name_plural = 'Группы работ'
Я добавил это условие при выгрузки в отчет, но полагаю есть более правильный вариант решения задачи:
if group.start_date <= date.today() <= group.end_date:
ws.append(data)
Ответы (1 шт):
Автор решения: Roman-Stop RU aggression in UA
→ Ссылка
Так:
today = date.today()
ws = Group.objects.filter(start_date__lte=today, end_date__gte=today)