如何过滤django中的datetime字段

时间:2012-11-29 03:04:31

标签: python django

我有一个名为Task的模型,并且在queryset函数中,我希望通过过滤器获取所有任务,我想过滤(任务的结束时间是之前的)

以下是代码,但现在可以使用,过滤后不显示任务。

EstEndTime = models.DateTimeField('End Time', null=True)

def queryset(self, request, queryset):
    from django.utils import timezone
    now = timezone.now()
    return queryset.filter(Owner=str(current_user_name),EstEndTime = now)

1 个答案:

答案 0 :(得分:4)

这将只返回现在精确创建的项目(精确到微秒,具体取决于您的数据库)。

你可能正在寻找这个:

queryset.filter(EstEndTime__lte=now)

对于记录,名为EstEndTime的字段是针对Django(以及Python)的命名约定,我建议使用命名模式,如:est_end_time