我试图从一组父对象中获取子项的总数。更好地解释这一点。我有一套SOW,属于年级组。每个SOW都有许多课程。我想要每年的课程总数。我目前正在使用过滤器获取每个SOW计数的课程
@register.simple_tag
def lesson_sow_count(value):
count = Lesson.objects.select_related().filter(schemeofwork_id=value).count()
return count
有一种简单的方法可以做到这一点。 view方法已经将SOW拆分为年份组并对它们进行排序,以便我可以在标签中显示它们,以便我坚持如何改变它。
def index(request):
allsow = dict()
allsow['Year 7'] = SchemeOfWork.objects.order_by('order').filter(yeargroup=7)
allsow['Year 8'] = SchemeOfWork.objects.order_by('order').filter(yeargroup=8)
allsow['Year 9'] = SchemeOfWork.objects.order_by('order').filter(yeargroup=9)
template = loader.get_template('planner/index.html')
context = RequestContext(request, {
'allsow': sorted(allsow.iteritems()),
})
return HttpResponse(template.render(context)
感谢您在任何答案中花费时间和精力
克里斯
答案 0 :(得分:0)
我不确定它的全部含义,但似乎你可以使用一个简单的查询:
allsow = SchemeOfWork.objects.filter(yeargroup_gte=7, yeargroup_lte=9).order_by('yeargroup', 'order')
然后,您将使用此处给出的示例中的注释来计算:https://docs.djangoproject.com/en/1.8/ref/models/querysets/#annotate
但由于我没有真正得到你正在做的事情,我不确定答案是否正确......