Python 有没有办法在django中做一个注释,在这里我可以区分timezone.now和其他字段?
在django有什么办法可以做到吗Python 有没有办法在django中做一个注释,在这里我可以区分timezone.now和其他字段?,python,sql,django,Python,Sql,Django,在django有什么办法可以做到吗 Notification.objects.filter( removable=Case( When(date_added__lte=timezone.now() - datetime.timedelta(hours=F('delete_after')), then=Value(1)), default=Value(0), output_field=IntegerField() ), ).delete(
Notification.objects.filter(
removable=Case(
When(date_added__lte=timezone.now() - datetime.timedelta(hours=F('delete_after')), then=Value(1)),
default=Value(0), output_field=IntegerField()
),
).delete()
基本上在内当我想这样做:
date_added__lte=timezone.now() -datetime.timedelta(hours=F('delete_after')
如果添加的日期和之后删除的属于同一个表我认为您的思路是正确的,类似这样的方法应该可以:
Notification.objects.annotate(
removable=Case(When(date_added__lte=timezone.now() - datetime.timedelta(hours=F('delete_after')), then=Value(1)),
default=Value(0), output_field=IntegerField())
).filter(removable=1).delete()
你想做什么?目标是什么?我有不同的通知,我有一个芹菜工人将删除旧的通知。某些通知可在24小时后删除,其他通知可在1、2或3个月后删除,具体取决于重要性@马卡维利