Есть две модели — первая несет информацию о музыкальных альбомах, вторая описывает треки с альбомов:
<font color="black"><a href="http://s-c.me/19881/s">Copy Source</a> | <a href="http://s-c.me/19881/h">Copy HTML</a><ol>
<li><font color="#0000ff">class</font> <font color="#cc6633">Album</font>(models.Model):</li>
<li> id_album = models.AutoField(primary_key=True)</li>
<li> artist = models.CharField(max_length=<font color="#008000">100</font>, null=True)</li>
<li> disc = models.CharField(max_length=<font color="#008000">100</font>, null=True)</li>
<li> </li>
<li><font color="#0000ff">class</font> <font color="#cc6633">Track</font>(models.Model):</li>
<li> id_track = models.AutoField(primary_key=True)</li>
<li> id_album = models.ForeignKey(<font color="#cc6633">Album</font>)</li>
<li> title = models.CharField(max_length=<font color="#008000">100</font>) </li>
</ol></font>
Есть контроллер который выводит список альбомов:
<font color="black"><a href="http://s-c.me/19882/s">Copy Source</a> | <a href="http://s-c.me/19882/h">Copy HTML</a><ol>
<li><font color="#0000ff">def</font> <font color="#cc6633">albums</font>(request):</li>
<li> <font color="#cc6633">albums</font> = Album.objects.order_by(<font color="#008000">'id_album'</font>).<b>all</b>()[<font color="#008000"> 0</font>:<font color="#008000">10</font>]</li>
<li> <font color="#0000ff">return</font> render_to_response(<font color="#008000">'albums.html'</font>, {<font color="#008000">'albums'</font>: <font color="#cc6633">albums</font>}) </li>
</ol></font>
Как для каждого альбома вывести список треков для него?
Решение которое напрашивается сразу — получить список идентификаторов альбомов, по этим идентификаторам выбрать треки из модели Track, передать во вьюху список треков.
Во вьюхе для каждого альбома делать цикл по трекам и выбирать те, у которых совпадают идентификатора id_album.
Но судя по количеству кода — мне кажется что в Django должно быть решение более элегантное, быстренько пробежался по мануалу — вроде ничего по теме не нашел.
Можно было бы использовать связь ManyToMany — но в данной структуре ее использовать не логично.
Подскажите спецы!