Django - 数据按年月日查找

时间:2021-09-21 14:38:44

views

    from django.db.models.functions import TruncMonth,TruncYear
# 查询当前站点每个月份下的文章数
# time_count=models.Article.objects.annotate(y_m=TruncMonth('create_time'))
# for i in time_count:
# print(i.title)
# print(i.y_m) year = mealog.objects.annotate(years=TruncYear('Timestamp')).values('years').annotate(yearss=Count('Timestamp'))

html

                        {% for foo in year %}
<span> {{ foo.yearss }}</span> 个数
<span> {{ foo.years |date:'Y'}}</span> 年份
{% endfor %}

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

import datetime

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

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

#查询一天内的数据
model.objects.filter(date_time_field__gt=start) #或者 查询一天内的数据
date_now = datetime.date.today() 获取当天的日期
da = datetime.timedelta(30) #要查询的天数 xxx__range=[date_now -da,date_now]) gt 大于
gte 大于等于
lt 小于
lte 小于等于
我们用 __range start = datetime.date(2018,7,12)
end = datetime.date(2018,7,13) model.objects.filter(time_filed__range=(start,end))
查询某年 __year 查询某月 __month 查询某天 __day 查询星期几__week__day

参考链接Django中条件过滤:按时间筛选