我想知道每个部门有多少员工,并在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 }}
。但它的工作正在发挥作用。
我错过了什么吗?...
答案 0 :(得分:1)
由于您的{{ company.company.count }}
: company = models.ForeignKey(公司,默认= 0,on_delete = models.SET_DEFAULT, related_name),您应该related_name
使其正常工作= '公司'强>)
建议(但不要求)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