Я настраиваю визуализацию данных, используя Highcharts и Django для школы.
У меня есть школа, в которой есть 8 классов (std1, std2. Std3, std4 и т. Д. ....) и через годЕсть 6 экзаменов (tem1, tem2, term3 .. и т. д.)
Я хочу рассчитать данные в следующем формате.
data = queryset.filter (grade1 и term1) в форматесреднего процента.
data1 = queryset.filter (grade1 и term2) в формате среднего процента.и т. д. до (класс 1 и термин 6).
data2 = queryset.filter (класс 2 и термин 1) в формате среднего процента.
6 экзаменов и 8 классов = 48 различных баллов.
Я пробовал базовое кодирование на Python с использованием фильтрации, циклов и манипуляций со списками.
def get (self, request):
queryset_list = Child.active.all()
std1=[]
total1=[]
a = Child_reports.objects.filter(child__standard__exact='VII', term__exact='1')
for x in a:
std1.append(x.english)
std1.append(x.tamil)
std1.append(x.hindi)
std1.append(x.maths)
std1.append(x.science)
std1.append(x.social_science)
for integer in std1:
if integer !=0:
total1.append(integer)
divide= len(total1)*100
std1_term1= sum(total1)*100/divide
context={
'std1_term1': std1_term1
}
return render(request, self.template_name, context)
Я получил общий балл только за одну оценку иодин экзамен, написав так много кода, если я буду следовать той же процедуре, мне придется написать его 48 раз.Это СУХОЙ
Можете ли вы помочь мне упростить этот код. введите описание изображения здесь