0
在單個數據庫中使用四個模型,並且我想要計算課程上的員工總數。四個模型的查詢集
本工作代碼當前計算:
- 課程名稱,即Course01,Course02
- 獨特課程的數量,即2個療程
- 每個療程的實例的數量,即Course01 = 3 ,Course02 = 1,總的課程= 4
models.py
class Course(models.Model):
name = models.CharField(max_length=75)
class Employee(models.Model):
first_name = models.CharField(max_length=75)
surname = models.CharField(max_length=75)
class CourseDetail(models.Model):
course = models.ForeignKey(Course)
date = models.DateField(blank=True, null=True)
renew_date = models.DateField(blank=True, null=True, default=None)
attendance = models.ManyToManyField(Employee, through='CourseDetailAttendance')
class CourseDetailAttendance(models.Model):
course_details = models.ForeignKey(CourseDetail)
employee = models.ForeignKey(Employee)
我想回考生總數每一個獨特的課程組,即Course01 = 24名候選人
我有什麼那麼遠,
views.py
from django.db.models import Count
def BetweenDates(request):
start_date = '2013-03-01'
end_date = '2013-03-30'
cr = CourseDetail.objects.filter(date__range=(start_date, end_date))
cc_count = cr.count()
cc_grouped = cr.values('course__name').annotate(Count('course'))
cc_grouped_count = cc_grouped.count()
cc_attendance = ???????????
context = {"cc_grouped_count": cc_grouped_count,
"courses_grouped": cc_grouped,
"date_range": cr,
"courses_count":cc_count,
"cc_attendance": cc_attendance,
}
return render_to_response('between_dates.html', context, context_instance=RequestContext(request))
between_dates.html
{% extends 'base.html'%}
{% block content %}
<h4><p>{{ cc_grouped_count }} courses delivering {{ courses_count }} course instances between {{ startdate }} and {{ enddate }}</p></h4>
{% for cs in courses_grouped %}
<div class = "news-articles ingrid in-thirds">
<div class = "unit">
<div class= "box">
{{ cs.course__name }}
</div>
</div>
<div class = "unit">
<div class= "box">
{{ cs.course__count }}
</div>
</div>
<div class = "unit">
<div class= "box">
total number of candidates goes here {{ cc_attendance }}
</div>
</div>
</div>
{% endfor %}
謝謝你skoll。在模板中,我有這個代碼來顯示課程名稱和課程實例。 {%爲courses_grouped%中的cs%} {{cs.course__name}} {{cs.course__count}} 請問您可以使用此循環的代碼嗎? 我一直在玩python shell,但我無法創建一個解決方案。 –
這是什麼,你試圖做到嗎?問題是什麼? – skoll
從我的數據庫中,我現在的代碼返回特定月份的唯一課程名稱列表(15)和課程數量(27)。我無法得到的是在15門課程中每個人都受過訓練的人數。你的代碼對於一個指定的課程來說非常有用,但是我無法設法讓它適用於課程組。你怎麼看? –