如何删除将日期时间与当前时间进行比较的表记录

时间:2016-10-31 10:45:58

标签: python django

每当表格记录的时间戳日期时间与db中的当前日期时间匹配时,我都需要删除表记录。问题是我无法使用日期时间方法在控制台上获取日期时间值,如果我使用它我无法过滤它。

这是我的代码

def query(request):
    xx = datetime.datetime.now()

    if dulesdb.objects.all():
        zzz = dulesdb.objects.datetimes('request_time','second')
        yyy = dulesdb.objects.filter(zzz > datetime.datetime.now())
        print yyy.delete() # some trick this way 
    return HttpResponse('deleted')   

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的代码,您希望删除request_time大于当前日期时间的记录。

要实现此目的,您可以过滤查询集以仅获取相应的记录:

def query(request):
    dulesdb.objects.filter(request_time__gt=datetime.datetime.now()).delete()

    return HttpResponse('deleted')

此查询集将返回其request_time属性大于当前时间的所有记录。然后,您可以直接删除这些记录(使用delete()方法)。

您可以根据需要替换__gt后缀(__gte:大于或等于,__lt:小于等等。)

您可以在official doc

中找到有关字段查找的更多信息