Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法在django中做一个注释,在这里我可以区分timezone.now和其他字段?_Python_Sql_Django - Fatal编程技术网

Python 有没有办法在django中做一个注释,在这里我可以区分timezone.now和其他字段?

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(

在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()
基本上在
内当
我想这样做:

 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个月后删除,具体取决于重要性@马卡维利