我正在尝试建立一对一的关系,但对我来说没有用。
根据本文件
https://docs.djangoproject.com/en/2.0/topics/db/examples/one_to_one/
A Restaurant can access its place:
>>> r.place
<Place: Demon Dogs the place>
A Place can access its restaurant, if available:
>>> p1.restaurant
<Restaurant: Demon Dogs the restaurant>
这是我的
model.py
class Employee(models.Model):
idemp = models.CharField(max_length=100)
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class EmployeeDetail(models.Model):
nationality = models.CharField(max_length=50)
employee = models.OneToOneField(Employee,on_delete=models.CASCADE,primary_key=True,)
这是我的
view.py
class EmployeeListView(ListView):
context_object_name = 'employees'
model = models.Employee
这是我的
employee_list.html
{% for employee in employees %}
<tr>
<td>{{ employee.idemp }}</td>
<td>{{ employee.name }}</td>
<td>{{ employee.nationality }}</td>
</tr>
{% endfor %}
运行并仅显示结果
idemp
和
name
。
我错过什么了吗?。。。
而且
我把桌子分成两张
employee
和
employe details
因为我可以访问数据,并且只显示员工列表的4列,其他(详细信息)将访问所有列。
哪个更好?。。。
1. use one table for many columns
或
2. split the table into 2 or more for many columns
(就像我的案子一样
受雇者
和
employeedetails
)
请解释
why
和
because
,我的大脑有点慢。
非常感谢