Обновление среднего и общего в таблице Django - PullRequest
0 голосов
/ 22 сентября 2018

Я создаю программу управления результатами.Мне нужно найти среднее из трех лучших оценок из 5 (CT1 - CT4, Assignment) или меньше.Если введено менее 5 меток, он будет игнорировать пустые столбцы.Кроме того, если введено менее трех, будет подсчитано третье значение со средним из заданных двух входов, а затем вычислено среднее.Один вход покажет, что оценки непосредственно в среднем.

Наконец, средние оценки и оценки посещаемости будут суммой.

Моя модель:

class Result(models.Model):
    asign = models.ForeignKey(Assignation, on_delete=models.CASCADE, null=True)
    student = models.ForeignKey(Student, on_delete=models.CASCADE, null=True)
    ct1 = models.FloatField(null=True, blank=True)
    ct2 = models.FloatField(null=True, blank=True)
    ct3 = models.FloatField(null=True, blank=True)
    ct4 = models.FloatField(null=True, blank=True)
    asn = models.FloatField(null=True, blank=True)
    avg = models.FloatField(null=True, blank=True)
    atd = models.IntegerField(null=True, blank=True)
    total = models.IntegerField(null=True, blank=True)

    def __str__(self):
        return str(self.asign.reg.session) + ' - ' + 'IT-' + str(self.asign.reg.course.cidn) + ' - ' + self.student.snam

views.py:

class FindStudentresult(ListView):
    template_name = 'Dashboard/findStudentresult.html'
    model = Result,Student,Registration,Assignation
    fields = ['all']

    def get_queryset(self):
        result=Result.objects.filter(student=self.kwargs['pk'])
        return result

    def totals(self):
        avg =  
...