Django中条件过滤:按时间筛选

瘦欲@ 提交于 2021-01-10 14:56:18

你有没有遇到过,需要按时间筛选的问题?

我在models中的字段为dateTimeField,那么我该如何构造一个时间格式来和它比较呢?

索性我们有datetime模块

import datetime

now = datetime.datetime.now()  #获取现在的时间

start = datetime.timedelta(hours=23,minutes=59,seconds=59)   #获取当前时间中的一天内的开始时间

#查询一天内的数据
model.objects.filter(date_time_field__gt=start)

其实这就没了,也就这么多的东西,哦,还有一些:

  • gt====大于
  • gte===大于等于
  • lt=====小于
  • lte====小于等于

那如果要查一个时间段呢?

我们用 __range

start = datetime.date(2018,7,12)
end = datetime.date(2018,7,13)

model.objects.filter(date_time_filed__range=(start,end))

查询某年 __year

查询某月 __month

查询某天 __day

查询星期几__week__day

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!