Невозможно отобразить внешний ключ в представлении списка Django
Я пытаюсь отобразить информацию внешнего ключа в моем представлении списка для первичного ключа, но она просто не отображается, и я не могу понять, почему.
Модели:
Первичный
class LightHouse(models.Model):
customer = models.ForeignKey('users.CustomUser', on_delete=models.CASCADE, related_name='lighthouse_group')
context_object_name = 'lighthouse'
lighthouseName = models.CharField(max_length=35, default="Not a lighthouse")
Foreign
class Endpoint(models.Model):
lighthouse = models.ForeignKey(LightHouse, on_delete=models.CASCADE, related_name='LHName')
device = models.CharField(max_length=50, unique=True)
Шаблон Django для PK
<tbody>
{% for endpoint in lighthouse.endpoint_set.all%}
<ul>
<td>{{ endpoint.device }}</td>
<td>{{ endpoint.endpointIPv4 }}</td>
<td> Online </td>
</ul>
{% endfor %}
</tbody>
Чего мне не хватает, чтобы не отображать FK?
На ваш вопрос "Я не могу понять почему." причина в том, что когда вы пытаетесь просмотреть данные по внешнему ключу, вы должны просмотреть их как список объектов, в вашей ситуации "маяк" является внешним ключом для модели "LightHouse", поэтому при попытке просмотреть "lighthouseName" вы должны отобразить его таким образом "{{lighthouse.lighthouseName}}" для одной строки данных.
{% for endpoint in lighthouse.endpoint_set.all%}
<ul>
<td>{{ endpoint.device }}</td>
<td>{{ endpoint.lighthouse.lighthouseName}}</td>
<td> Online </td>
</ul>
{% endfor %}