One more note.  You wouldn't NEED to explicitly grab all those vars,
as you can get them in a template too.  I just wanted to show you the
relation.
If you sent the track to the template, you can get the artist by
using:

{{ track.album.artist }}

Keith

On Aug 22, 12:24 am, lingrlongr <[EMAIL PROTECTED]> wrote:
> The only part you have that is redundant is the "artist" in your
> "Track" class.  You can find out the artist because a track is related
> to an album, which in turn, is related to an artist.
>
> Some of the code you'd maybe see in a view would be:
>
> # views.py
> from django.shortcuts import get_object_or_404
> from models import Album, Track
>
> def album(request, slug):
>   album = get_object_or_404(Album, slug=slug)
>   artist = album.artist
>   tracks = album.track_set.all()
>   ...etc... return a response...
>
> def track(request, slug):
>   track = get_object_or_404(Track, slug=slug)
>   album = track.album
>   artist = album.artist
>   ..etc..
>
> HTH
>
> Keith
>
> On Aug 21, 11:44 pm, nek4life <[EMAIL PROTECTED]> wrote:
>
> > I'm trying to set up my first Django application and I'm trying to
> > figure out the database relationships.  I want to be able to list
> > albums, with their corresponding tracks and album artwork.  Right now
> > I only have foreign keys defined in the Track class and on the
> > AlbumArt class pointing to the Album class.  I'm doing this so I can
> > keep a record of which track or which album art goes to which album.
> > However I also would like to add a ManyToManyField on my Album class
> > so I can pull the album data in my view.  Defining this is both places
> > seems redundant to me, but I'm not sure how else I can accomplish
> > this.  What would be best practice in this situation and how should I
> > proceed?
>
> > class Album(models.Model):
> >     title          = models.CharField(max_length=255)
> >     prefix         = models.CharField(max_length=20, blank=True)
> >     subtitle       = models.CharField(blank=True, max_length=255)
> >     slug           = models.SlugField(unique=True)
> >     artist         = models.ForeignKey('Artist')
>
> > class AlbumArt(models.Model):
> >     title          = models.CharField(max_length=200)
> >     slug           = models.SlugField()
> >     album          = models.ForeignKey('Album')
>
> > class Track(models.Model):
> >     title         = models.CharField(max_length=200)
> >     slug          = models.SlugField(unique=True)
> >     album         = models.ForeignKey('Album')
> >     artist        = models.ForeignKey('Artist')
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to