Вывод данных связанных моделей 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>
При выводе первой модели на страницу результат выглядит следующим образом:
Вывод второй модели показывает результат при повторном парсинге, выглядит это так:
Третья модель показывает дату когда срабатывала функция - заголовок последнего столбца:
Проблема возникла в следующем, если я опять обновляю данные, и хочу чтобы у меня появился новый столбец, то получаю все значения в последней ячейке вместо создания новой: