【发布时间】:2016-08-03 13:59:06
【问题描述】:
我正在尝试显示属于同一公司的员工列表。因此,例如使用给定的 URL localhost/app/company-slug/ 我想显示一个行列表,其中包含所有三个模型的详细信息:
|名字 |姓氏 |公司蛞蝓|员工状态 |员工类型 |
使用这个模型,我如何检索这种数据?
class Employee(models.Model):
company = models.ForeignKey(Company)
class EmployeeProfile(models.Model):
employee = models.OneToOneField(Employee)
# Base
first_name = models.CharField(max_length=31)
middle_name = models.CharField(max_length=31, null=True, blank=True)
class EmployeeJob(models.Model):
employee = models.OneToOneField(Employee)
# Employment status
employment_status = models.ForeignKey(EmploymentStatus, null=True, blank=True)
employment_type = models.ForeignKey(EmploymentType, null=True, blank=True)
编辑 1:
我不知道模板标签中是否可以连接表格。这是@Shang Wang 建议的可行解决方案
{% for employee in employees %}
<tr class="table-row clickable" data-href="{% url 'hrm:detail' company.slug employee.pk %}">
<td><strong>A</strong></td>
<td>{{ employee.employeeprofile.first_name }} {{ employee.employeeprofile.last_name }}</td>
<td>{{ employee.employeejob.employment_status }}</td>
<td>{{ employee.employeejob.employment_type }}</td>
<td>4</td>
</tr>
{% endfor %}
【问题讨论】:
标签: python django join orm merge