1

我需要计算用户购物车中最后一次操作后的 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()
    ...

但是之后我应该采取什么行动以及如何采取行动?

4

2 回答 2

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)
于 2013-01-23T15:08:48.640 回答
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
于 2013-01-31T08:35:28.317 回答