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
