试图显示每个学生的最终分数。但它不只是显示sum的结果,而是显示一个查询集块:例如:
Annie <QuerySet [{'studName': None, 'attendance__sum': 3}, {'studName': 1, 'attendance__sum': 2}, {'studName': 2, 'attendance__sum': 1}]>
其他学生也是如此。你知道吗
我想把它显示为:
安妮2
本尼3
查理4号
我的观点:
def attStudName(request):
studentName = MarkAtt.objects.all()
mark = MarkAtt.objects.values('studName').annotate(Sum('attendance'))
context = {
'studentName' : studentName,
'mark' : mark
}
return render(request,'show-name.html',context)
我的模板:
{% for y in mark %}
{% for x in studentName %}
<p>{{x.studName}}</p> <p> {{mark}}</p>
{% endfor %}
{% endfor %}
我如何显示每个学生的名字与他们自己的标记相应?我怎样才能在没有标记的情况下显示标记呢
编辑时间:
你知道吗型号.py地址:
class Namelist(models.Model):
name = models.CharField(max_length=100)
program = models.CharField(max_length=10)
year = models.IntegerField(default=1)
studType = models.CharField(max_length=15)
courseType = models.CharField(max_length=15)
nationality = models.CharField(max_length=20)
VMSAcc = models.CharField(max_length=30)
classGrp = models.ForeignKey('GroupInfo', on_delete=models.SET_NULL, null=True)
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) #1 is present
先谢谢你。你知道吗
你把事情搞得太复杂了。鉴于以下简单背景:
您可以在模板中执行以下操作:
下面应该返回一个带有学生姓名和分数的查询集。不需要两个单独的查询。你知道吗
如果
studName
是外键,请执行此操作.values('studName__name')
然后在您的上下文中,您可以添加:
然后可以在模板中循环
students
,并将数据显示为:相关问题 更多 >
编程相关推荐