django - 调用 ForeignKey 并在 django 模板上计算它
问题描述
我想计算每个部门有多少员工并将其显示在 django 模板上。
我在这里models.py
class Company(models.Model):
name = models.CharField(max_length=100)
desc = models.TextField(blank=True, null=True, default='Tidak ada deskripsi')
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse("system:company_list")
class Employee(models.Model):
name = models.CharField(max_length=100)
company = models.ForeignKey(Company, default=0, on_delete=models.SET_DEFAULT, related_name='company')
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse("system:detail",kwargs={'pk':self.pk})
在这里我的views.py
class CompanyListView(ListView):
context_object_name = 'companys'
model = models.Company
在这里我的company_list.html
{% for company in companys %}
<tr>
<td>{{ company.name }}</td>
<td>{{ companys.employee.count }}</td>
<td>{{ company.desc }}</td>
</tr>
{% endfor %}
我正在尝试计算公司{{ companys.count }}
及其工作。我认为这将{{ companys.employee.count }}
用于计算员工人数。但它的功劳。
我错过了什么?...
解决方案
你应该{{ company.company.count }}
让它工作,因为你related_name
:company = models.ForeignKey(Company, default=0, on_delete=models.SET_DEFAULT, related_name ='company' )
建议但不要求 a 的名称是related_name
当前模型的复数形式
class Employee(models.Model):
name = models.CharField(max_length=100)
company = models.ForeignKey(Company, default=0, on_delete=models.SET_DEFAULT, related_name='employees')
所以在这种情况下,你会在模板中
{{ company.employees.count }} # count
{{ company.employees.all }} # All employees
推荐阅读
- c++ - 如何检查队列是否使用stl排序
- c# - 是否可以在不将 Unity 组件添加到游戏对象的情况下创建它?
- python - 实现 luigi 动态图配置
- arrays - 如何在 JSON 数组中使用 IndexOf?它正在返回-1
- django - Django静态文件得到404
- c# - 如何在 C# 中使用 AWSSDKCore.dll 和 AWSSDKLex.dll 获取有关服务器下所有 LexChatBot 的信息
- javascript - 使用 Javascript 和 C# 连接服务器和客户端
- c++ - 构造不同类型的 C++ 向量数组
- javascript - dc 传单 - 动态标记
- sql-server - Check_mk_agent 错误:未能收集 SQL Server 实例