Отображение информации о внешнем ключе в шаблоне представления детализации Django
Как сказано в заголовке, у меня есть детальное представление, которое я представляю с помощью шаблонов Django. У меня есть внешний ключ, который я также хотел бы представить в этом подробном представлении, и я просто не могу заставить его работать. Я перепробовал все, но все, что я получаю - это основной шаблон детального представления без информации об иностранном ключе. Любая помощь была бы очень признательна.
Вот что у меня есть на данный момент:
Модели:
class Cust(models.Model): #this is the main model
id = models.UUIDField(
primary_key=True,
default=uuid.uuid4,
editable=False)
email = models.CharField(max_length=200)
firstName = models.CharField(max_length=200)
lastName = models.CharField(max_length=200)
watchmanSlug = models.CharField(max_length=200, unique=True)
class Watchman(models.Model):
group = models.ForeignKey(Cust, on_delete=models.CASCADE,to_field='watchmanSlug',
related_name='watchman_group_slug')
uid = models.CharField(max_length=500)
computer_name = models.CharField(max_length=500)
computer_url = models.CharField(max_length=500)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
Виды
class CustomerDetailView(DetailView):
model = Cust
template_name = 'cust/cust_detail.html'
def get_context_data(self, ** kwargs):
context = super(CustomerDetailView, self).get_context_data( ** kwargs)
context['computer_name'] = Watchman.objects.all()
return context
Шаблон детализации
<tbody>
<ul>
{% for p in watchman_group_slug.all %}
<li>{{ watchman.computer_name }}</li>
{% endfor %}
</ul>
</tbody>
Вы получаете доступ к связанным Watchman
объектам с помощью:
<tbody>
<ul>
{% for p in object.watchman_group_slug.all %}
<li>{{ p.computer_name }}</li>
{% endfor %}
</ul>
</tbody>
так и с object.watchman_group_slug.all
, и с .computer_name
из p
.