Вывод данных связанных моделей Django

У меня возникла следующая проблема нужно вывести данные трех связанных моделей на страницу.

Models выглядит так:

class Playlist(models.Model):
    class Meta:
         verbose_name = "Плэйлист"
         verbose_name_plural = "Плэйлисты"
    
    title  = models.TextField(verbose_name = 'Название плэйлиста', null= True)
    listen = models.TextField(verbose_name = 'Кол-во прослушиваний',null= True)
    url = models.URLField(verbose_name = 'Адрес плэйлиста')     
    listen2 = models.ManyToManyField(Listen1, verbose_name = 'Прослушивания по датам', related_name="listen3")

    def __str__(self):
        return self.title


    class Listen1(models.Model):
          
    data = models.TextField(verbose_name = 'Дата',blank=True, null=True)
    listen2 = models.TextField(verbose_name = 'Прослушивания',blank=True)
    url = models.TextField(verbose_name = 'Ссылка на плэйлист',blank=True)
    title = models.ManyToManyField('Playlist' , related_name="title2")

    def __str__(self):
        return self.listen2


    class Data(models.Model):   
     
    url = models.ManyToManyField(Listen1 , related_name="title2", verbose_name = 'URL')
    data = models.TextField(verbose_name = 'Дата прослушивания', null=True) 

    def __str__(self):
        return self.data

views выглядит так:

 def lost(request):

 posts = Playlist.objects.all()
 quest = Listen1.objects.all()
 zest = Data.objects.all()

 cell = {'posts': posts,"quest": quest,"zest": zest,}

 return render(request,'parsplay/lost.html', cell)

lost.html выглядит так:


    <table>
        <tr>
            <th>Удалить</th>   
            <th>{{title1}}</th>    
            <th>{{listen1}}</th>

            {% for p in zest %}
            <th>{{p.data}}</th>
            {% endfor %}
         
        </tr>

            {% for p in posts %}
        <tr>
            <td><a href="{% url 'delete_page' p.id %}">Удалить</a> </td>
            <td><a href="{{p.url}}">{{p.title}}</a></td>  
            <td>{{p.listen}}</td>
            <td>{{p.listen2.all}}</td>
            {% empty %}
            <p>Плэйлисты не добавлены</p>
        </tr>
            {% endfor %}
    </table>

При выводе первой модели на страницу результат выглядит следующим образом: введите сюда описание изображения

Вывод второй модели показывает результат при повторном парсинге, выглядит это так: введите сюда описание изображения

Третья модель показывает дату когда срабатывала функция - заголовок последнего столбца: введите сюда описание изображения

Проблема возникла в следующем, если я опять обновляю данные, и хочу чтобы у меня появился новый столбец, то получаю все значения в последней ячейке вместо создания новой:

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

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