Привет! помогите с отображением БД в шаблоне.
В админке добавляются аудио треки (изображение альбома, автор, название трека, аудио-файл).
Если автор совпадает у нескольких таблиц, то они длолжны группироваться.
Нужно вывести в шаблоне ровно столько блоков, сколько исполнителей. Т.е. одинаковые исполнители выводятся как один блок и в этом блоке должны выводиться все треки, где автор один и тот же.
Вот сама модель:
class Tracks(models.Model):
author = models.CharField(max_length=100, verbose_name="Исполнитель",
blank=True, null=True)
name = models.CharField(max_length=100, verbose_name="Название и тайминг",
blank=True, null=True)
image = models.ImageField(upload_to='img', blank=True, verbose_name="Альбом")
audio = models.FileField(upload_to='audio', blank=True, verbose_name="Аудио")
def __str__(self):
return self.name
Первую часть реализовал так(чтобы авторы не повторялись):
def songs(request):
allObj = Tracks.objects.all()
authorList = []
for i in allObj:
authorList.append(i.author)
b = set(authorList)
b = list(b)
context = {
'authorlist': b
}
return render(request, 'songs.html', context)
Вот шаблон:
{% for author in authorlist %}
<div>
<img src="{{ ? }} " alt="/">
{% for ? in ? %}
<p class="trackDetails" data-audio="">{{ ? }} </p>
{% endfor %}
</div>
{% endfor %}
Как сделать так, чтобы в каждом созданном блоке автора добавлялся цикл, где бы выводились все треки, которые принадлежат этому исполнителю.?