Django - 数据按年月日查找

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中条件过滤:按时间筛选

posted @ 2018-12-25 17:53 MAU 阅读(...) 评论(...) 编辑 收藏
Life will always knock us down, but we can choose whether to stand back up, then keep fighting. 生活会把我们打趴下,但我们可以选择重新站起来,继续奋斗。