按日期范围过滤对象

按日期范围过滤对象

本文介绍了Django:按日期范围过滤对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的对象模型是:

class Event(models.Model):
    start = models.DateTimeField()
    end = models.DateTimeField()

我需要过滤今天的所有对象。

I need to filter all objects for today.

我有一个对象与开始日期2014/03/01 00:00和结束日期2014/10/01 00:00。
我今天要过滤对象时需要这个对象,例如:

I have one object with start date 2014/03/01 00:00 and end date 2014/10/01 00:00.I need to have this object when filtering objects by today date ex.:

Event.objects.filter(start__gte = today, end__lte = today)

如何在今天之前过滤对象,并获取所有结果,其中start> today<结束?

How can I filter objects by today date and get all results where start > today < end ?

推荐答案

从,并使用 gt lt

import datetime

today = datetime.date.today()
Event.objects.filter(start__lt=today, end__gt=today)

这将过滤起始日期小于今天的日期和结束日期大于今天的对象。

This would filter objects where start date is less than today and end date is greater than today.

这篇关于Django:按日期范围过滤对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 14:17