有什么方法可以在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()
基本上在When
里面我想这样做:
date_added__lte=timezone.now() -datetime.timedelta(hours=F('delete_after')
date_added
和delete_after
属于同一个表
答案 0 :(得分:0)
我认为你走在正确的轨道上,这样的事情应该有效:
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()