我有这样的模型,其中主管是团队的外键,而个人员工是外键。
model.py
class Supervisor(models.Model):
[fields..]
class Team(models.Model):
shift = ...
department = ...
supervisor = models.ForeignKey(Supervisor, related_name="team_supervisor")
class Employee(models.Model):
[fields...]
team = models.ForeignKey(Team, related_name="employee_team")
在视图中使用Supervisor模型时,在遍历每个主管的同时,我可以用以下语句列出主管管理的团队数量:
{{ supervisor.team_supervisor.count }}
如何显示主管在每个团队中为主管工作的单个员工总数?我以为以下方法会起作用,但不会:
{{ supervisor.team_supervisor.employee_team.count }}
答案 0 :(得分:0)
您将必须使用Count
模块(docs & examples here)中的django.db.models.aggregates
修改查询集并对其进行注释。像这样:
from django.db.models import Count
supervisors = Supervisor.objects.annotate(employee_count=Count('team__employee'))