Я пытаюсь получить доступ к отношениям oneToOne, но у меня не получилось.
согласно этой документации
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
.
я что-то пропустил? ...
также
Я делю таблицу на 2 таблицы для employee
и employe details
, так как у меня есть доступ к данным и я покажу только 4 столбца для списка сотрудников, а другие (подробности) получат доступ ко всем столбцам.
что лучше? ...
1. use one table for many columns
или
2. split the table into 2 or more for many columns
(как и в моем случае, я делю employee
и employeedetails
)
объясните, пожалуйста, с why
и because
, мой мозг немного замедлен.
Большое спасибо