Mic*_*ith 0 python django datefield
我目前有一个Promotion表,其中的字段end_date定义为:
end_date = models.DateField('date')
Run Code Online (Sandbox Code Playgroud)
我想创建一个查询,可以在其中筛选将在 7 天后过期的所有促销活动。
我该怎么做呢?我尝试过这个但没有运气:
from restaurant.models import Promotion
from datetime import datetime, timedelta
expiring_soon = Promption.objects.filter(end_date = datetime.now()+timedelta(days=7))
Run Code Online (Sandbox Code Playgroud)
好吧,我运行了一个小虚拟项目,您的情况并不遥远,您只是没有从中获取日期(而不是datetime)datetime.now(),因此您必须添加一个额外的方法调用:
expiring_soon = Promotion.objects.filter(end_date = datetime.now().date() + timedelta(days=7))
Run Code Online (Sandbox Code Playgroud)
另请注意,这datetime.now()会为您提供非本地化的结果datetime,因此您可能会看到结果看起来相差一天的结果,因为 UTC 领先/落后于您。