Django 中 DateTimeField 的过期逻辑

Expiration logic with DateTimeField in Django

我在这样定义的服务模型中有一个 DateTimeField:

pub_date = models.DateTimeField(default=timezone.now,blank=True)

我想在我的代码中创建一些过期逻辑,以便超过 2 个月的服务过期。在我看来,只会显示那些没有过期的服务。

例如,我想在视图中执行此操作:

views.py

class display_services:
    services = Service.objects.all()
    valid_services = []
    for service in service
        **If Service is Not Expired***
              valid_services.append(service)
    endfor
...

您可以按 pub_date

筛选
from datetime import datetime, timedelta

class DisplayServices(ListView):
    queryset = Service.objects.filter(pub_date__gte=datetime.now()-timedelta(days=60))

    ...

我想这就是你想要的:

import datetime as dt
two_months_ago = dt.date.today() + dt.timedelta(days=-60)
valid_services = Service.objects.filter(pub_date__gte=two_months_ago)