在项目开发中难免遇到前端需要展示图表,什么前端说让我后端直接给他数据?那就得秀一波操作了!!!
对于日期的分类主要用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='请选择单位')
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)
上述代码展示的是根据月份求平均值的功能,这样获取到的就是本年度每个月的平均分。
官方文档
Database Functions | Django documentation | Django (djangoproject.com)
网友评论