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