在項(xiàng)目開(kāi)發(fā)中難免遇到前端需要展示圖表薛闪,什么前端說(shuō)讓我后端直接給他數(shù)據(jù)?那就得秀一波操作了VǜА0儆睢!
對(duì)于日期的分類(lèi)主要用Django支持的Function秘豹,Extract or Trunc 携御,下面看代碼演示
def get_month_grade(self, request):
dep_id = self.request.GET.get('dep', None)
if not dep_id:
return sigma_response(code=Code.SHOW_ERROR, message='請(qǐng)選擇單位')
year = datetime.now().year
data = models.CheckRecord.objects.filter(date__year=year, department_id=dep_id).annotate(
month=ExtractMonth('date')).values('month').annotate(Avg('grade'))
return sigma_response(data)
上述代碼展示的是根據(jù)月份求平均值的功能,這樣獲取到的就是本年度每個(gè)月的平均分既绕。
官方文檔
Database Functions | Django documentation | Django (djangoproject.com)