检查今天是否是到期日django

时间:2020-09-13 19:05:08

标签: django django-rest-framework

我有这样的模特

class Tasks(models.Model):
    title = models.CharField(max_length=100,null=True,blank=True)
    due_date_time= models.DateTimeField(default=timezone.now)

由于到期日期是日期和时间字段,我如何检查今天是否是此任务的到期日期,而我要同时保存时间和日期

1 个答案:

答案 0 :(得分:0)

您可以使用__date lookup [Django-doc]

from django.utils.timezone import now

Tasks.objects.filter(
    due_date_time__date=now().date()
)

或者如果您使用时区,则可以进行范围检查:

from datetime import timedelta
from django.utils.timezone import now

today = now().replace(hour=0, minute=0, second=0, microsecond=0)
tomorrow = today + timedelta(days=1)

Tasks.objects.filter(
    due_date_time__gte=today,
    due_date_time__lt=tomorrow
)

注意:通常,Django模型的名称为单数,因此使用Task代替 Tasks