Имею модель плейлистов, в которой есть связь manytomany моделью песен. Изначально обращаюсь к определенному плейлисту через метод get во вьюхе. Далее обращаюсь к этому плейлисту и получаю все песни этого плейлиста через playlist.song.all(). В шаблоне какие-то проблемы с выводом. Пробовал и обрамлять в теги if, ошибка скорее всего в цикле. Укажите мне на нее пожалуйста
views.py
def show_playlist(request, playlist_id):
playlist = Playlists.objects.get(pk=playlist_id)
songs = playlist.song.all()
return render(request, 'musiccloud/current_playlist.html', {'playlist':playlist, 'songs':songs})
models.py
class Playlists(models.Model):
user = models.ForeignKey(User, on_delete=models.PROTECT, verbose_name='Пользователь', null=True)
title = models.CharField(max_length=128, verbose_name='Название Плейлиста')
envelope = models.ImageField(verbose_name='Обложка плейлиста', upload_to='photo/%Y/%m/%d')
date_playlist = models.DateField(auto_now_add=True, verbose_name='Дата создания плейлиста')
song = models.ManyToManyField('Music', verbose_name='Песня', blank=True, null=True)
def __str__(self):
return self.title
class Music(models.Model):
photo = models.ImageField(verbose_name='Обложка', upload_to='photo/%Y/%m/%d', blank=True)
title = models.CharField(max_length=455, verbose_name='Название', default='Без названия', blank=True)
person = models.CharField(max_length=255, verbose_name='Исполнитель', default='Неизвестный исполнитель', blank=True)
file = models.FileField(verbose_name='Песня', upload_to='audio')
album = models.ForeignKey(Album, verbose_name='Альбом', blank=True, on_delete=models.CASCADE, null=True)
date_song = models.DateField(auto_now_add=True, verbose_name='Дата релиза песни', null=True)
def __str__(self):
return self.title
Кусок шаблона html
<div class="container">
<div class="row">
<div id="music-current-card" class="music-current-card">
<div class="card-body">
<div id="playlist-current-card" class="playlist-card">
<h1 class="card-title">{{ playlist.title }}</h1>
{% if playlist.envelope %}
<img id="envelope-current-playlist" src="{{ playlist.envelope.url }}">
{% endif %}
{% for music in songs %}
<audio src="{{ music }}"></audio>
{% endfor %}
</div>
</div>
</div>
</div>
</div>