Django 如何在再次执行函数之前统计新数据
我有这个功能,当满足某些条件时,自动执行Django 如何在再次执行函数之前统计新数据,django,celery,Django,Celery,我有这个功能,当满足某些条件时,自动执行send\u sms功能。如果检测到特定级别的计数,它将执行 我用芹菜在需要时自动执行它。但我现在的问题是这样的 如果responses.count()>=50:则它将执行发送短信功能。但是,当它在第一次执行后达到51时,它仍在执行,不能执行。我希望它再次重新计算另一个NEW50,以便再次执行 我怎么做?谢谢 def auto_sms(request): responses = Rainfall.objects.filter( le
send\u sms
功能。如果检测到特定级别的计数,它将执行
我用芹菜在需要时自动执行它。但我现在的问题是这样的
如果responses.count()>=50:
则它将执行发送短信
功能。但是,当它在第一次执行后达到51
时,它仍在执行,不能执行。我希望它再次重新计算另一个NEW
50,以便再次执行
我怎么做?谢谢
def auto_sms(request):
responses = Rainfall.objects.filter(
level='Torrential' or 'Intense',
timestamp__gt=now() - timedelta(days=3),
)
if responses.count() >= 50:
send_sms(request)
return HttpResponse(200)
那么,你可以简单地使用,像这样:
def auto_sms(request):
responses = Rainfall.objects.filter(
level='Torrential' or 'Intense',
timestamp__gt=now() - timedelta(days=3),
)
count = responses.count()
if not (count % 50) and count > 0:
send_sms(request)
return HttpResponse(200)
主要更改发生在如果不是(计数%50)和计数>0:
,其中有2个逻辑操作
第一个not(计数%50)
表示每个可被50整除的数字将返回True
,即50、100、150等
但是有一个问题,
0
对于第一个操作也将返回True
,这不是您想要的。这就是第二次操作的原因count>0
非常感谢,它成功了!:)