有没有办法在django中制作注释,我可以在timezone.now和其他字段之间做出区分?

时间:2017-01-27 10:40:23

标签: 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()

基本上在When里面我想这样做:

 date_added__lte=timezone.now() -datetime.timedelta(hours=F('delete_after')

date_addeddelete_after属于同一个表

1 个答案:

答案 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()