我目前有一个Promotion
表,字段end_date
定义为:
end_date = models.DateField('date')
我想创建一个查询,我可以过滤所有将在7天后过期的促销活动。
我该怎么做呢?我没有运气试过这个:
from restaurant.models import Promotion
from datetime import datetime, timedelta
expiring_soon = Promption.objects.filter(end_date = datetime.now()+timedelta(days=7))
答案 0 :(得分:2)
好的,我经历了一个小小的虚拟项目而且距离不远,你只是没有从datetime
获得约会(而不是datetime.now()
)所以你必须添加一个额外的方法调用:
expiring_soon = Promotion.objects.filter(end_date = datetime.now().date() + timedelta(days=7))
另请注意,datetime.now()
为您提供了非本地化的datetime
,因此您可能会看到某些结果在一天内出现的情况,因为UTC在您之前/之后。
答案 1 :(得分:0)
expiring_soon = Promotion.objects.filter(end_date =datetime.date.today() + relativedelta.relativedelta(days=7))