Хранить сумму от просмотров до базы данных Django - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь сохранить общую посещаемость учащегося в процентах к базе данных без формы.

Views.py

 def attStudName(request):
#to display each student name with their total mark in table form
students = MarkAtt.objects.values('studName__VMSAcc').annotate(mark=Sum('attendance'))

    #to convert the total mark to percentage and save in FinalAtt table
    mark = 0
mark += students.attendance
work = FinalAtt.objects.all()
for stud in students:
    stud.mark = (stud.mark/1100) * 100
    work.VMSAcc = students
    work.finalMark = mark
    work.save()
context = {
'students' : students


    }
return render(request,'show-name.html',context)

MarkAtt Модель:

class MarkAtt(models.Model):

studName = models.ForeignKey(Namelist,on_delete=models.SET_NULL,blank=True, null=True, default=None)
classGrp = models.ForeignKey(GroupInfo, on_delete=models.SET_NULL, null=True)
currentDate = models.DateField(default=now())
week = models.IntegerField(default=1)
attendance = models.IntegerField(default=100) 

FinalAtt Модель:

  class FinalAtt(models.Model):
VMSAcc= models.ForeignKey(Namelist, on_delete=models.SET_NULL, null=True)
finalMark = models.DecimalField(max_digits=5, decimal_places=2)

Ошибка, которую я получаю:

У объекта 'QuerySet' нет атрибута 'посещаемость'

Как мне решить эту проблему и успешно сохранить информацию, которую я хочу?

1 Ответ

1 голос
/ 27 сентября 2019

students - это QuerySet, поэтому вы не можете сделать mark += students.attendance.

Скорее всего, вы хотите просмотреть их, чтобы вычислить mark.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...