Вывести объекты из связанных моделей в шаблоне Django

Делаю тв программу передач на Django:

models

class TVChannel(models.Model):
"""TV канал"""
   title = models.CharField("Название TV канала", max_length=50, unique=True)
   logo = models.ImageField(upload_to='channels/logo/', blank=True, null=True)
   description = models.TextField("Описание TV канала", max_length=3000, blank=True, null=True)
   slug = models.SlugField(max_length=50, unique=True)

   def __str__(self):
       return f"{self.title}"

   class Meta:
       verbose_name = "TV канал"
       verbose_name_plural = "TV каналы"


class Region(models.Model):
"""Регион вещания"""
   title = models.CharField("Регион вещания", max_length=100, unique=True)
   description = models.TextField("Описание страницы региона", max_length=1000, blank=True, null=True)
   slug = models.SlugField(max_length=100, unique=True)

   def __str__(self):
       return f"{self.title}"

   def get_absolute_url(self):
       return reverse('slug', kwargs={'slug': self.slug})

   class Meta:
       verbose_name = "Регион вещания"
       verbose_name_plural = "Регионы вещания"


class TVShow(models.Model):
"""Телевизионная программа"""
   title = models.CharField("Название передачи", max_length=150)
   date = models.DateField("Дата трасляции")
   time = models.TimeField("Время трасляции")
   channel = models.ForeignKey(TVChannel, on_delete=models.CASCADE, verbose_name="TV канал", related_name='channel_rn')
   region = models.ForeignKey(Region, on_delete=models.CASCADE, verbose_name="Регион вещания", related_name='region_rn')

   def __str__(self):
       return f"{self.title}"

   class Meta:
       verbose_name = "TV передача"
       verbose_name_plural = "TV передачи"

views

class RegionTodayView(DetailView):
"""ТВ передачи региона"""
   today = tvProgramToday()
   model = Region
   slug_field = 'slug'
   template_name = 'tvprogram/region_today_detail.html'

   def get_context_data(self, **kwargs):
       context = super(RegionTodayView, self).get_context_data(**kwargs)
       context['tvshow'] = TVShow.objects.filter(region=self.get_object()).filter(date=self.today).order_by('time')
       context['tvchannel'] = TVChannel.objects.order_by('id')
       return context

template

{% for channel in tvchannel %}
<div class="col-12 col-md-6 col-lg-4">
     <div class="channel">
         <div class="channel__item channel__item--first"><span>{{ channel.title }}</span></div>
         {% for item_tvshow in tvshow %}
         <div class="price__item"><span>{{ item_tvshow.time }}</span><span>{{ item_tvshow.title }}</span></div>
         {% endfor %}
     </div>
 </div>
{% endfor %}

В таком виде в шаблоне для каждого канала выводятся все тв шоу:

введите сюда описание изображения

Подскажите, пожалуйста, как прописать в шаблоне так, чтобы для каждого канала выводились шоу, связанные только с этим каналом?

введите сюда описание изображения

Вернуться на верх