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)
我在这样定义的服务模型中有一个 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)