django模型之查询时间段

在web项目中(尤其是管理端)经常遇到的一种场景是根据指定时间段筛选数据。比如,根据发布时间(publish_time)筛选,根据添加时间筛选等。本文主要介绍django中的时间段查询应该如何处理。

我们以文章(Article)发布时间(publish_time)为例。

注意:这里发布时间(publish_time)的字段类型应该是date或者datetime,否则不在本文讨论范围。

now = datetime.datetime.now()

start = datetime.datetime(2017,1,1)

1、大于某个时间(gt)

Aticle.objects .filter(publish_time__gt=now)

2、大于等于某个时间(gte)

Aticle.objects .filter(publish_time__gte=now)

3、小于某个时间(lt)

Aticle.objects .filter(publish_time__lt=now)

4、小于等于某个时间(lte)

Aticle.objects .filter(publish_time__lte=now)

5、查询时间段(range)

Aticle.objects .filter(publish_time__range=(start,now))

6、查询某年(year)

Aticle.objects .filter(publish_time__year=now.year)

7、查询某月(month)

Aticle.objects .filter(publish_time__month=now.month)

8、查询某天(day)

Aticle.objects .filter(publish_time__day=now.day)

9、查询星期几(week_day)

Aticle.objects .filter(publish_time__week_day=1)

本文分享自微信公众号 - 飞桨PPDB(Tsing_Liu)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章