计算距离上次操作90天后的日期

1 投票
2 回答
1172 浏览
提问于 2025-04-17 13:25

我需要计算用户购物车最后一次操作后的90天!

我有一个叫做ORDERING的模型

class Order(DirtyFieldsMixin, models.Model):
    ...
    items_add_date = models.DateTimeField(null=True, blank=True)
    ...

我的任务是:记录用户最后一次在购物车里添加商品的日期,然后如果超过90天用户没有再添加任何商品,就给他发一封邮件。

我现在是这样做的

def cart_add(request):
    ...
    order.items_add_date = datetime.datetime.now()
    order.save()
    ...

但是接下来我该怎么做呢?

2 个回答

0

我这样解决了这个问题

srok = datetime.datetime.now()-timedelta(minutes=1)
user_unbuying = Order.objects.filter(items_add_date__lt=srok)

usr=[]

for unbus in user_unbuying:
    if unbus.customer.id not in usr:
        if unbus.customer is not None:
            if unbus.items_add_date is not None:
                usr.append(unbus.customer.id)
                #send mail
0

我不太清楚你遇到了什么问题,但如果你想判断是否已经过去了90天,你可以加一个检查:

#query for order
order = Order.get(xxx)
ninety  = datetime.datetime.now() - timedelta(days=-90) 
if order.items_add_date < ninety:
    #send email

如果你需要查询超过90天的内容:

order = Order.filter(items_add_date__lt=ninety)

撰写回答