Python 通过userid django将总和值转换为百分比

Python 通过userid django将总和值转换为百分比,python,django,Python,Django,我正试图通过userid将总数转换成一个百分比,但当我尝试运行以下程序时,会弹出一个错误 错误是: 未定义名称“mark” 下面是我的views.py代码 成功地获取了值,但它返回了全部零。以下是我的数据: 学生姓名|出勤分数|百分比 安尼| 800 | 0 本尼| 800 | 0我的答案有些遗漏。试试这个: from django.db.models import F students = MarkAtt.objects.values('studName__VMSAcc').annotate(

我正试图通过userid将总数转换成一个百分比,但当我尝试运行以下程序时,会弹出一个错误

错误是:

未定义名称“mark”

下面是我的views.py代码

成功地获取了值,但它返回了全部零。以下是我的数据:

学生姓名|出勤分数|百分比

安尼| 800 | 0


本尼| 800 | 0

我的答案有些遗漏。试试这个:

from django.db.models import F
students = MarkAtt.objects.values('studName__VMSAcc').annotate(mark=Sum('attendance'), percentage=(F('mark') / 1100) * 100)
然后在模板中:

{% for student in students %}
    {{ student.studName__VMSAcc }}
    {{ student.mark }}
    {{ student.percentage }}
{% endfor %}

但是……”标记“”未定义。标记在注释中定义。我不明白你怎么会这么想。这似乎是对变量定义如何工作的一个相当基本的误解。实现这一点的最佳方法是什么对不起,你真的不能用另一个问题来代替一个问题,特别是不是有人已经在努力回答的问题。错误是“dict”对象没有属性“mark”。标记是我在注释中声明的一个属性。。。如何解析此标记和百分比不是模型中的属性字段。它只是我在视图中声明的变量。分数分配给每个学生的总分数。但是我需要以百分比的形式显示。我如何在模板上显示它?有没有更好的方法来计算百分比?有没有办法声明一个db属性来保存学生的总分?它返回零。
{% for student in students %}
    {{ student.studName__VMSAcc }}
    {{ student.mark }}
    {{ student.percentage }}
{% endfor %}