Django Total Children Count 跨查询
Django Total Children Count across query
我正在尝试从一组父对象中获取子对象的总数。为了更好地解释这一点。我有一套 SOW,属于一个 Year Group。每个 SOW 都有许多课程。我想要每个年级的总课程数。我目前正在使用过滤器
获取每个 SOW 计数的课程
@register.simple_tag
def lesson_sow_count(value):
count = Lesson.objects.select_related().filter(schemeofwork_id=value).count()
return count
有没有简单的方法来做到这一点。查看方法已经将 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)
感谢您花时间和精力回答任何问题
克里斯
我不确定它的全部内容,但您似乎可以使用一个简单的查询:
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
但是因为我没有真正理解你在做什么,所以我不确定这就是答案...
我正在尝试从一组父对象中获取子对象的总数。为了更好地解释这一点。我有一套 SOW,属于一个 Year Group。每个 SOW 都有许多课程。我想要每个年级的总课程数。我目前正在使用过滤器
获取每个 SOW 计数的课程@register.simple_tag
def lesson_sow_count(value):
count = Lesson.objects.select_related().filter(schemeofwork_id=value).count()
return count
有没有简单的方法来做到这一点。查看方法已经将 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)
感谢您花时间和精力回答任何问题
克里斯
我不确定它的全部内容,但您似乎可以使用一个简单的查询:
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
但是因为我没有真正理解你在做什么,所以我不确定这就是答案...